Pet*_*ens 21
OSGi和微服务共享相同的架构风格,但其粒度不同.我们实际上习惯于调用OSGi服务微服务,直到网络窃取了该名称.我们现在有时称他们为nanoservices.
(微纳米)服务的原理是通过具有良好定义的API的门来隧道模块之间的通信.由于API是或者至少应该独立于实现,因此您可以更改一个模块而不影响其他模块.其中一个最重要的好处是,在查看服务图时,甚至大型系统的设计仍然可以理解.在某种程度上,基于服务的设计捕获了系统的本质,留下了模块的细节.
对于web /微服务,门是通信端点(例如主机:端口)和协议(例如REST).API是非正式定义的,或者使用Swagger/OpenAPI或SOAP等定义.
OSGi将(纳米)服务定义为可供其他模块(bundle)使用的对象.Java用于定义API.
由于nanoservices是OSGi的最重要的原始设计有很多的支持,使他们易于使用.有趣的是,由于服务注册是动态的和反射的,这是相当简单的nanoservice映射到微服务,反之亦然.OSGi联盟在其分布式OSGi模型"远程服务管理员"中对此进行了标准化.此规范允许您使用OSGi nanoservice并将其映射到REST,SOAP或其他协议.
因此,选择的OSGi可以让你不仅可以推迟,以支持微服务的决定,它也可以让你事后微服务添加到您的系统.为最基本的功能和最高级别的功能提供统一的架构风格,使系统更易于理解和扩展.
我不认为您在这里比较苹果。OSGI是一个应用程序体系结构,microservices而是一个分布式系统概念。
以我的经验,微服务具有许多好处:
但是,它们也有一些缺点:
有一个很好的文章描述的一些差别在这里。
| 归档时间: |
|
| 查看次数: |
6473 次 |
| 最近记录: |