将一个现有的应用或库暴露为一个web服务,并且无需进行任何代码改动,这是一种人们渴望已久的概念。Baratine是一个开源的框架,能够用于创建由松耦合的微服务所构成的平台。通过使用Baratine,可以通过以下两个步骤实现这一概念。
- 实现服务端的部分(SOA)
- 随后实现一个客户端库负责通信
通过以上方法,Baratine就能够将一个现有的库或应用转换为一个独立的web服务。Baratine服务将与现有的库进行通信,而Baratine客户端将负责接受由外部发来的请求。
在本文中,我们将探索使用Baratine的一种场景,即将Apache Lucene这个非常流行的开源Java搜索库暴露为一个高性能的web服务。
Apache基金会是这样描述Lucene的:“一个完全由Java编写的高性能、特性完善的文本搜索引擎库,这一技术适用于几乎任何需要进行全文搜索的应用,尤其是跨平台的应用。” 继续阅读