微服务是最近非常热门的技术,关于它的讨论很多。下面从我的实践经验说说我对它的理解。
在我看来微服务就是把很大的应用分成若干个相互独立的小的应用,通过Rest API提供服务或者获取服务。
对于开发来讲,微服务所带来的复杂性和挑战也是很明显的,至少有以下几点。
-
需要实现统一的服务管控和治理平台
比如服务发现,API网关,断路器,分布式配置等等,但好在已经有了开源的解决方案,比如Netflix OSS。
-
如何跨库查询?
A服务的a表需要和B服务的b表做连接查询,如果a表和b表在同一个数据库中是非常简单的,但在微服务中,通常每个服务有自己的私有数据库,每个服务都通过API对外提供服务,那么这时候如何做连接查询呢?我们这时就做不了连接查询了,只能调用Rest API达到目的。
-
如何维护数据一致性?
以下还有一些关于微服务的很好的资料,供大家参考。