微服务优缺点

优点:
    每个服务足够内聚,足够小,代码容易理解这样能够聚焦一个指定的业务功能或业务需求。
    开发简单,开发效率提高,一个服务可能就是专一的只干一件事情。
    微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
    微服务能够被小团队单独开发。
    微服务能使用不同的语言开发。
    易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如Jenkins、Hudson、bamboo。
    微服务易于被一个开发人员理解、修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。
    微服务允许你利用融合最新技术。
    微服务只是业务逻辑的代码,不会和HTML/CSS或其他界面组件混合。
    每个微服务都有自己的存储能力,可以有自己的数据库,也可以统一数据库。
缺点:
    开发人员要处理分布式系统的复杂性
    多服务运维难度,随着服务的增加,运维的压力也在增大
    系统部署依赖
    服务间通讯成本
    数据一致性
    系统集成测试
    性能监控

 

微服务架构是一种将单个应用程序作为一套小型服务开发的方法,每个服务运行在其独立的进程中,并且通常使用轻量级通信机制(如HTTP资源API)。这些服务围绕业务能力组织,并通过自动化部署机制独立部署。微服务也能够使用不同的数据存储技术。 优点: 1. 技术异构性:每个微服务可以使用最适合该服务的技术栈,不必为了整个应用的统一而妥协。 2. 可扩展性:不同的服务可以根据需要独立扩展,提高资源利用效率。 3. 独立部署:微服务可以独立部署,减少了部署新功能的复杂性和风险。 4. 弹性:单个服务的失败不会导致整个系统崩溃,提高了系统的整体稳定性。 5. 组织灵活性:可以组织专门的团队来开发、部署和扩展各自的微服务,使得团队更加敏捷高效。 缺点: 1. 分布式复杂性:服务之间的通信增加了系统的复杂性,需要管理跨多个服务的事务和数据一致性。 2. 网络开销:微服务之间通过网络调用通信,相比单体应用,这增加了延迟和失败的可能性。 3. 测试难度:测试分布式系统比测试单体应用更具挑战性,需要模拟更多的外部依赖和服务交互。 4. 安全性挑战:由于服务数量多,需要管理的服务边界也多,安全策略的实施和维护变得更加困难。 Spring Boot是用于创建微服务的流行框架,它简化了基于Spring的应用开发,可以在没有或最少的配置下运行。Spring Boot的优势在于它提供了快速开发的能力和减少了样板代码。 Spring Boot的优点: 1. 简化配置:使用约定优于配置的原则,简化了应用的配置。 2. 快速启动:内置了Tomcat、Jetty或Undertow等嵌入式HTTP服务器,能够快速启动和运行应用。 3. 独立性:Spring Boot应用通常是独立的,可以轻松部署为可执行的jar文件。 4. 生产就绪特性:提供了诸如监控、健康检查、外部化配置等生产就绪特性。 5. 开箱即用:集成了大量的第三方库和Spring生态系统中的其他项目。 Spring Boot的缺点: 1. 学习曲线:对于初学者来说,Spring Boot的约定优于配置原则可能会有一定的学习成本。 2. 重量级:虽然称之为“轻量级框架”,但Spring Boot内部集成了很多组件,对于极简应用来说可能显得过于重量级。 3. 配置复杂性:尽管Spring Boot简化了很多配置,但在处理复杂的配置场景时,仍然可能会变得复杂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值