微服务的优缺点👇👇👇优点:服务独立性:每个服务都有独立的代码仓库、独立的数据库、独立进行部署的能力。开发体验好:开发体验好的关键点在于启动速度快,克隆代码速度快,编译部署速度快,技术选型更自由。职责专一性:服务只负责本身的业务,不关心无关业务。这样有利于实现不同的团队维护不同的服务。按需扩容:也就是说某个服务特别耗内存,可以单独部署在内存比较大的机器上;如果特别耗 CPU , 那可以部署到 CPU 比较好的机器上。且只需要部署这个服务,不需要像单体应用那样部署整个应用。👇👇👇缺点:分布式带来的复杂性:服务拆分后,本地调用变成了远程调用;服务实例有多个,如何负载均衡;被调用的服务出问题的话,如何调用容错;服务之间的依赖关系如何等问题。运维的复杂性:拆分后的服务数量多;部署后的服务节点多;需要有日志的统一管理,才方便通过日志排查问题。服务需要有统一监控,才能在发生问题时及时告警。服务拆分的复杂性:如何拆分出对应的服务很关键,需要结合自身的业务领域进行合理的拆分。拆分后每个服务都有自己的数据库,当一个业务操作涉及多个服务时,如何保证数据一致性,等等。