阿里云云原生架构实践
上QQ阅读APP看书,第一时间看更新

3.1.1 服务接口定义

服务接口定义是指对应的编程语言对服务接口的描述。如Apache Dubbo是一款分布式RPC(Remote Procedure Call,远程过程调用)通信系统,其服务规约定义就可以通过Java接口(Interface)来实现,示例代码如下:


public interface UserService {
    User findById(Integer id);
    void create(User user);
}

这种基于编程语言提供的特性(如接口定义和自定义数据类型等),可以很好地实现服务规约。不过,这种实现方式有利也有弊。利是能够很好地支持某些编程语言,例如,很多Java程序员会采用Apache Dubbo,就是因为其能够很好地支持Java语言。弊是在对多语言的支持上还有所欠缺,毕竟不是任何一种编程语言都包含Interface特性,如JavaScript中并没有接口定义这一语法支持。