简单了解什么是微服务架构
微服务与微服务架构
微服务:
从字面意思理解,它就是一个小的服务,是为了解决某个问题或是完成一个具体功能而落地实现的某个服务应用,可以简单理解为IDEA里面的一个Moudle。
微服务架构:
简单来说,它就是一种架构设计风格,本质就是将一个独立的系统拆成多个小型服务,每个小型服务都存在于独立的进程中,它们有各自的数据库、业务逻辑和独立部署机制,服务之间通过HTTP的RESTful API进行通信。由于有了轻量级的通信协作基础,因此这些微服务可以用不同的语言来编写。
微服务的优点
- 能够独立部署和扩展
- 更新其中一个服务不会影响其他服务运行
- 可以使用不同语言进行编写
- 符合单一职责原则,一个服务只负责干一件事
使用微服务带来的问题
- 运维的新挑战:运维人员需要维护的进程数量大大增加;
- 接口的一致性:服务虽然拆分,但业务逻辑上的依赖并不会消除,如果对原有的接口做了改变,那么交互方就需要协调这次改变来进行发布;
- 分布式的复杂性:因为各个微服务独立部署,只能通过通信来协作,所以带来了很多分布式环境的问题,eg:网络延迟、分布式事物、异步消息等。