微服务(Microservices):
根据业务单元进行拆分、隔离,专注于单一服务,独立开发和部署。
服务发现和复杂均衡
微服务代理模式
- 传统集中式代理 F5(4层)、nginx(七层)
- 客户端嵌入式代理,发现负载逻辑,嵌入应用程序中,需要独立的注册中心,服务启动自动注册发现。
- 主机独立进程代理
服务注册
服务熔断降级
服务限流
服务配置
链路追踪
服务鉴权
服务监控
应用日志
优点
1.根据业务决定拆分粒度,服务聚焦单一业务功能,独立,隔离。
2.异构性:不同的服务可以选适合的技术栈去实现
3.弹性:很好处理服务不可用、功能降级
4.扩展:业务扩展
5.组合性和重构性
缺点
1.分布式复杂性,实现消息、RPC进程通信机制,处理部分故障
2.数据库体系结构,不同服务多个数据库
3.微服务应用测试
4.服务治理
服务网格(Service Mesh):
-
边车模式:应用增加一个边车,达到控制和逻辑分离。
- 日志、监控、流控、服务注册、发现、熔断、限流。
- 解决服务间调用问题。
服务间通信基础设施。
1.服务间通信中间层
2.轻量级的网络的代理
3.应用程序无感知
4.网络调用、限流、熔断、监控
-
开源项目
- istio、conduit、nginMesh、Kong
- 边车模式到Service Mesh
Serverless:
基于云厂商产品构建,函数服务faas,后端服务baas
弹性扩容,事件驱动、无状态、无运维、低成本
-
Baas:Backend as a Service
- 调用服务API完成响应功能
-
Faas: Functions as a Service
- 函数即服务,业务代码运行
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。