微服务

设计架构需要考虑的因素

  • 业务需求

  • 技术栈

  • 成本

  • 组织架构

  • 可扩展性

  • 可维护性

软件架构的进化

单体架构→微服务 定义:

微服务

  • 什么是微服务 使用一套小服务来开发单个应用的方式,每个服

  • 微服务的特征 单一职责 轻量级通讯 隔离性 有自己的数据 技术的多样性

  • 微服务架构的优点 独立性 敏捷性 高效团队

  • 微服务架构的不足 额外的工作 数据一致性 沟通成本

微服务架构引入的问题及解决方案 微服务如何通讯 tcpIp http dobble zookeeper 一对一还是一对多 同步还是异步

一对一

一对多

同步

请求响应模式

-----

异步

通知/请求异步响应

发布订阅

从通讯协议角度考虑

  • REST API

  • RPC

  • MQ

如何选择RPC框架

  • I/O、线程调度模型

  • 序列化方式

  • 多语言支持

  • 服务治理

常见的RPC框架 Dubbo/Dubbox Motan THrift Grpc

微服务如何发现彼此 传统服务 ip和端口号

微服务 客户端发现 服务端发现

微服务怎样部署?更新?扩容?

服务编排 Mesos、

SpringBoot与微服务 化繁为简

SpringCloud与微服务 简化Java的分布式系统

Netfix Eureka Netflix Ribbon Netflix Hystrix Netflic Zuul Spring cloud configure

Last updated