转载

java开发面试问答----微服务篇

- client application是调用方,server application是被调用方 - client stub是代理对象,他看起来是server端的类,其实内部是用rpc的代理类,他的作用是将调用的方法及参数进行序列化,并在结果返回时对结果进行反序列化 - run-time library就是实现各种通信的库包,如java的Socket,restful等等 - 最后是底层网络通信数据通信 - server stub将请求参数反序列化,通过反射找到本地类和方法,调用本地方法获取结果并序列化然后返回给client端

dubbo是阿里巴巴开源的分布式服务框架,采用层次结构设计,共分为10层

  • 服务接口层:服务提供方根据业务需求编写接口和实现,服务调用方使用接口调用服务
  • 配置层:配置参数
  • 服务代理层:stub,根据服务接口生成的本地代理
  • 服务注册层:封装服务地址的注册和发现
  • 集群层:封装多个服务提供者的路由及负载均衡
  • 监控层:监控服务的调用次数和耗时
  • 远程调用层:封装rpc,Protocol是服务域,它是Invoker暴露和引用的主功能入口,它负责Invoker的生命周期管理。Invoker是实体域,它是Dubbo的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起invoke调用。
  • 信息交换层:封装请求响应模式,同步转异步
  • 网络传输层:抽象mina和netty为统一接口
  • 序列化层:封装的序列化方式和工具

怎么理解RESTful

rest的意思是表现层状态转换,即uri表示资源,http的操作方法表示行为:post表示增加,delete表示删除,put表示修改,get表示查询,返回的状态码表示结果,restful就是具有rest风格的架构规范。

原文  https://juejin.im/post/5da14cef518825663830fbec
正文到此结束
Loading...