微服务架构

       最近互联网业界比较火的微服务架构,最近我们公司的项目也在实践一些微服务的架构理念。简单总结一下自己的理解。

       (一)什么是微服务架构?

       从字面理解微服务架构就是将系统分为许多个细小的组建,各个组件可以单独部署,互相通信采用API的方式调用,可以采用RPC的方式,或者Rest方式。

       既然涉及的服务的划分,自然就会出现如何划分服务,划分力度怎么样等问题。这个并没有具体的,所有系统都适用的划分原则。简单总结一下:

       1,服务力度要小,最好保证只做单一的事情;

       2,可以独立的部署,尽量不要与其它系统有联系,减少依赖性;

       3,轻量级通信,RPC或Rest;

       4,各个微服务可以采用不同的架构方式,就是各个微服务之间可以异构。

       (二)基于开源软件架构:

       1,数据层——可以采用MyCat作为数据分片中间件,MyCat支持主从配置,读写分离。

       2,数据持久层——Mybitas

       3,数据缓存——Redis,集群配置

       4,服务组件——Spring MVC

       5,服务注册中心——Zookeeper

       6,服务端负载——

相关推荐