微服务间如何通讯?
从通讯模式角度考虑
- 一对一还是一对多?
- 一对一
- 同步:请求响应模式,最常见
- 异步:通知/请求异步响应
- 一对多
- 异步:发布订阅/发布异步响应
从通讯协议角度考虑
- REST API
- RPC
- MQ
如何选择RPC框架
- I/O、 线程调度模型
- 序列化方式
- json,xml,二进制
- 多语言支持
- 服务治理
流行的RPC框架
- dubbo,dubbox, motan, grpc, thrigt
微服务如何发现彼此?
传统服务vs微服务
- 传统服务发现
- 如何发现?
- 客户端发现
- 服务端发现
微服务怎样部署?更新?扩容?
什么是服务编排
- 服务部署,更新,扩容
流行的服务编排工具
- Mesos, Docker Swarm , Kubernetes
SpringBoot与微服务
SpringBoot的使命
- 化繁为简
SpringBoot核心功能
- 独立运行 java -jar xxx.jar
- 内嵌web服务器
- 简化配置
- 准生产的应用监控
SpringBoot与微服务的关系
- java的润滑剂
SpringCloud与微服务
SpringCloud的使命
- 简化java的分布式系统
深入理解
- 一系列框架
- 简化java的分布式系统
- SpringBoot封装
SpringBoot vs SpringCloud
- SpringBoot意在简化,是一种开发、配置风格
- SpringCloud意在简化分布式,是功能的集合,风格的统一
SpringCloud vs 微服务
- java的微服务
- 侧重功能,侧重开发
SpringCloud核心组件
- Netflix Eureka(客户端发现)
- Netflix Ribbon
- Netflix Hystrix(多路器)
- Netflix Zuul(服务路由)
- Spring Cloud Config
- dubbo
- grpc
学到了什么?
- 微服务通信
- RPC框架
- 服务发现,部署, 更新,扩容
- 服务编排
- SpringCloud+SpringBoot
原文地址:https://www.cnblogs.com/guigujun/p/10017888.html
时间: 2024-11-08 21:16:16