什么是微服务

微服务是一种架构,与之相对的是传统的单点服务。单点服务就是把所有的功能实现都放在一个工程中, 部署的时候, 举例Java 项目可能就是一个ear或者war包。随着系统的功能增加, 代码难以维护,一个小的改动也必须对整个项目重新部署.

微服务一般来说按照业务的不同, 把一个项目分成几个不同的模块, 每个模块其实就是一个完整的小系统,可以自主选择编程语言, 数据库 … 模块间的相互调用使用Restful或者RPC的方式。这非常适合Agile的开发模式, 为每个微服务配置一个Agile团队。这样, 对于一个模块的修改, 部署不会影响到其他模块, 对整个系统的影响也较小,到这里听起来是那么的美好, 但是为了达成一个微服务系统,需要解决一些额外的问题。

 

比如,由于网络的不稳定,可能引起的微服务之间的调用问题

一个微服务如果增加或者减少一个API,怎么通知其他需要使用这个API的微服务

如果一个微服务down了,怎么保证系统不会崩溃 ….

 

这些都是搭建微服务系统需要考虑的问题。 幸运的是, 目前市场上有一些比较主流的微服务框架为我们考虑到并且做了这些事情, 使开发人员更多的专注于业务代码的编写。比如 SpringCloud

 

同时, 微服务架构对运维工作的要求提高了很多,需要了解微服务之间的通讯方式, 如果系统是用多重语言开发的, 需要掌握多重语言。

Note:一般来说, 现代的高可用系统系统都使用集群技术, 微服务也不例外。 也就是每个微服务都可以使多个节点同时提供服务, 如果其中的一个或者几个down了, 服务不被影响。 另一点好处就是可以提供负载均衡,如果需要提高系统的吞吐量, 可以很简单的横向增加微服务在集群中的数量。 这个倒不是微服务独有的,传统单点服务也有集群的概念。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值