通过上一节的学习相信大家对微服务已经有了初步的认识,这一节我们来聊聊微服务架构都需要解决哪些问题以及这些问题在业界都是如何解决的。
- 微服务如何通讯?
- 微服务如何发现彼此?
- 微服务怎么部署?更新?扩容?
首先我们来讲微服务如何通讯? - 从通讯模式角度考虑
首先我们要考虑的是一对一还是一对多的,一对一就是请求响应模式,最常见。一对多就是发布订阅/发布异步响应,比如滴滴打车就是一个一对多的关系,用户发出消息,很多的司机都能接收到这个消息。 - 从通讯协议角度考虑
REST API (http)
RPC (dubbo motan dubbox grpc thrift)
MQ- 如何选择RPC框架
- I/O, 线程调度模型
- 序列化方式
- 多语言支持
- 服务治理
-
流行的RPC框架
+ Dubbo/Dubbox
+ Motan
+ Thrift
+ Grpc
其实服务发现的本质是服务调用者如何知道服务的提供者的IP与端口号。
服务编排-就是解决服务数量很多,服务器不好维护的缺点。
这里面我只是提了一嘴,具体怎么操作以及它们是如何工作的,我们在后面的实战项目里会着重为大家讲解。
- 如何选择RPC框架