springcloud - 微服务架构

springcloud - 微服务架构

单体应用

单体应用的优点

  1. 开发简单: 方便开发
  2. 便于共享: 单个归档文件中包含所有的功能,便于在团队之间以及不同的部署环境阶段进行共享.
  3. 易于测试: 测试便捷, 部署方便

单体应用的缺点

  1. 复杂性高: 所有功能都在一个应用中, 耦合度比较高
  2. 技术债务: 单体应用所用的技术都特别单一. 所以市场上的一些中间件,新技术无法应用到单体应用上
编程模式:面向接口编程

SOA多业务架构

编程模式:面向服务架构

它一种设计方法, 服务之间通过相互依赖最终异同一系列的功能,一个服务通常以独立的形式存在.

微服务架构

微服务的特点

  1. 面向服务
  2. 松耦合
  3. 模块化
  4. 分布式计算
  5. 平台无关
  6. 集中管理
微服务的优点
  1. 开发简单
  2. 技术栈灵活
  3. 各服务之间没有任何依赖关系
  4. 独立性强,可以按需拓展
  5. 可用性比较高
微服务的缺点
  1. 维护成本高
  2. 运维难度大
  3. 复杂
  4. 数据一致性差
  5. 重复工作
  6. 性能监控不及时
  7. 通信复杂

我们什么时候需要使用微服务

  1. 开发效率非常快的情况下需要:
    应用进行微服务化后,规模和体积将边的非常轻量, 在编译,打包,分发,部署等环境都节约了大量的时间,开发效率明显提升

  2. 保证质量时需要:
    微服务应用面向持续集成,友好度比较高, 自动化编译,单元和集成测试用例的执行和回归,提高应用的整理质量时需要用到微服务

  3. 稳定的时候需要
    单体应用是牵一发动全身,微服务,牵一发,动一动 ,在微服务中,单一功能挂掉之后,不影响其他功能

我们什么时候不需要使用微服务

  1. 场景单一
    应用只有几个特定的功能, 没有必要进行微服务独立开发时

  2. 逻辑简单

当单体应用的一个功能挂掉后,这个单体应用就无法使用了 ( 修改代码后重新部署 )

当微服务的一个功能挂掉后,这个功能牵连的功能无法使用外,其他的功能影响正常功能(正常生产) ( 服务检测, 重试机制,限流,熔断机制,(客户端)负载均衡, 降级)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值