我有一个微服务,负责在其余端点上提供缓存的数据。我有2个需要此微服务的大项目。
我的困惑是,如果我应该在我的大项目中使用restTemplates调用其余端点或将客户端jar用于微服务。
如果我使用rest模板,则需要添加pojos以进行请求和响应等。我的高级开发人员坚持使用rest模板,但我不太喜欢这种方法。
有人可以建议
答案 0 :(得分:1)
为了促进客户端休息调用的使用,尤其是在涉及多个项目时,最好的做法是设计一个将所需端点调用为以下内容的客户端包装:
SystemApiClient client = new SystemApiClient();
List<Article> articles = client.getArticles("popular");
通过设计这样的客户端包装,可以很容易地从其中制作一个jar文件并在您的微服务中共享它。为了便于更新,您还可以将每个新版本上载到本地关系上,并在有新版本可用时轻松获得项目上的更新
答案 1 :(得分:0)
要视情况而定。
如果您在整个项目中都使用Spring,则应该使用RestTemplate
。仅用于调用端点,不需要拉另一个jar。很多时候,资深人士/架构师建议使用独特的库来维护应用程序标准,并避免整个库都提供相似的功能。
或者,如果您的应用程序是用其他框架或语言开发的,则可以使用任何HttpRequest
支持库。您使用什么客户端代码访问Rest端点都没有关系。
答案 2 :(得分:-1)
在基于服务的体系结构(例如微服务)中,最好通过其余端点调用服务。但是,最大的问题还是您应该使用什么- JAR 或 WAR 。这在很大程度上取决于项目的类型及其架构。在这种情况下,它是MicroServices,Bob叔叔在这里很好地描述了-http://blog.cleancoder.com/uncle-bob/2014/09/19/MicroServicesAndJars.html