微服务架构与实践

微服务架构与实践

单块架构

功能集中、代码和数据中心化、一个发布包、部署后运行在统一进程的应用程序,我们通常称之为单块架构 yingyc

优点

  1. 易于开发
  2. 易于测试
  3. 易于部署
  4. 易于水平伸缩

挑战

  1. 维护成本增加
  2. 持续交付周期长
  3. 新人培养周期长
  4. 技术选型成本高
  5. 可扩展性差
  6. 构建全功能团队难

微服务架构

一组小的服务、运行在独立进程、以及用轻量级的通信、独立部署特征、相对较少的集中式管理等等.

优点

  1. 独立性
  2. 单一职责
  3. 技术多样性

挑战

  • 分布式系统的复杂性
  1. 性能
  2. 可靠性
  3. 异步
  4. 数据一致性
  5. 工具
  • 运维成本
  1. 配置
  2. 部署
  3. 监控与告警
  4. 日志收集
  • 部署自动化
  • DevOps 与组织结构
  • 服务间依赖测试
  • 服务建依赖管理

实践

  • 持续集成和部署
  • 通信框架
  • 服务依赖测试
  1. 单元测试
  2. 接口(契约)测试
  3. 集成测试
  4. 端到端测试
原文地址:https://www.cnblogs.com/SLchuck/p/12780478.html