微服务架构有以下几个特点
1.是一些列小服务的组合
2.每个微服务都可以单独运行(不区分语言和平台)
3.每个微服务都有自己的独立业务(业务比较独立,可以单独维护数据库)
4.每个微服务都可以单独部署
5.去中心化管理
使用微服务好处
1.系统高可用
2.扩展性高
3.可以快速迭代
4.持续交付部署
架构具体设计
- 水平分层、重置业务拆分
- 独立进程、部署、运维
- 高可用、自动恢复
微服务分层(APP为例)
- 客户端 - App
- 微服务网关 - 入口
- 微服务聚合 - 业务逻辑聚合
- 微服务原子 - 业务处理
- 微服务数据 - 数据库、缓存
通信协议
- REST - HTTP
- HAL - REST
- RPC - Thrift、gRpc、dubbo
- QUEUE - Redis、RabbitMQ
服务注册 / 发现
- 注册中心 Host、Port、Config
- ZooKeeper
服务治理(服务监控)
- 进程监控 - 活跃
- 语义监控 - 自定义
- 错误日志监控 - 量
- 资源监控 - CPU、内存、硬盘