标签:com swarm 服务 联网 分布 落地 conf 灵活 分享
使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署。
1、单一职责
2、轻量级通讯
3、隔离性
4、业务数据的独立性(有自己的数据)
5、技术多样性
1、互联网行业的快速发展
2、敏捷开发,精溢方法深入人心
3、容器技术的成熟--使微服务的落地成为可能
1、独立性
2、敏捷性
3、技术栈灵活
4、高效团队
1、额外的工作
需要确认如何拆分业务,微服务的拆分粒度
2、数据一致性
3、沟通成本
1、从通讯模式角度考虑:
一对一?一对多?
同步?异步?
2、从通讯协议角度考虑
REST API
RPC
MQ
如何选择RPC框架?
1、I/O、线程调试模型
2、序列化方式(JSON/二进制)
3、多语言支持
4、服务治理
常用RPC框架:Dubbo/Dubbox(当当)/Thrift(A)/Motan(新浪微博)/gRPC(谷歌)
传统服务的发现
微服务的发现:
1、客户端的发现
2、服务端的发现
服务编排:部署、更新、扩容
流行的服务编排工具:Mesos/Docker Swarm/Kubernetes
Spring Boot的使命:化繁为简
Spring Boot核心功能:独立运行、内嵌Web服务器、简化配置、准生产的应用监控
Spring Boot与微服务的关系:Java的润滑剂
Spring Cloud的使命:简化Java的分布式系统
一系列框架的集合
简化java的分布式系统
Spring Boot 封装
Java的微服务
侧重功能,侧重开发
Spring Cloud核心组件
Netflix Eureka
Netflix Ribbon
Netflix Hystrix
Netflix Zuul
Spring Cloud Config
Spring Boot 意在简化,是一种开发、配置风格
Spring Cloud意在简化分布式,是功能的集合,风格统一
标签:com swarm 服务 联网 分布 落地 conf 灵活 分享
原文地址:https://www.cnblogs.com/z00377750/p/9404739.html