刚刚突然想到以前做的一套微服务系统,如果让我重新接手,如果把每个微服务都做成接口类似第三方jar的形式,如果想要使用,在一个统一的位置,直接构建个对象调用不是更简单。
紧接着联想到,如果把这些微服务能够被调用的信息都注册到一个注册中心(事实上也是这么做的)
,然后其他的项目只要用到了其他子项目,直接在注册中心申请调用就OK。这个时候如果能够提供一个统一的调用模版就更好了,自己最熟悉的RestTemplate就是这个东西。把要调用的项目的url之类的所需信息填写完整之后就可以用这个Template去调用接口,进行信息交互。
这个统一的注册中心,系统之间相互通信的方式,就是分布式项目能够存在的根本原因,而分布式架构又是微服务实现的基础。所谓的微服务就是一个完整的项目按照功能和业务拆分成若干个子项目,这些子项目都可以被称之为微服务。
有些地方说分布式和微服务的区别:分布式一般都是部署在不同服务器的不同项目或者同一项目,而微服务可以都部署在一台服务器上,也可以随意组合的部署在多台服务器上。
这种说法的观点在于服务器的形式上,同一台服务器和多台服务器。但是,部署在同一台服务器上的项目,按照host:port这种确定某个项目唯一的方式来看,他们每个又都是独立存在的,事实上也是如此。所以,你即使不把他们称之为分布式,但这也是一种“伪分布式”。
所以说,微服务本质上还是一种分布式。
插个公有云和私有云的话题。刚开始听说公有云和私有云的时候,真的感觉很迷茫,之前在做的是公有云,近期要开始做私有云了。可是什么是公有云?什么是私有云?经过公司大牛的一番介绍之后得到以下结论。
公有云:对公的,