我需要实现一个简单的CRUD微服务,例如一个具有自己持久性的简单日志服务。我还需要为同一个服务编写一个java客户端库。
鉴于其简单性,有一个可以用作服务后端(托管http端点)的jar或作为代理某个远程端点的库是非常诱人的。
作为服务运行时应提供的附加依赖关系配置是持久性端点(例如,DB数据源名称)。
这种方法会出现重大问题吗?在野外有这种模式的例子吗?
发布于 2019-04-24 14:27:08
我建议不要这样做。您正紧密地结合服务器和客户端实现,通常您希望两者都独立发展。
如果您对服务进行了更改并发布了新的JAR文件,那么您的所有客户如何知道更改是否与它们相关?您可能拥有比服务更多的客户端,这些服务通常由其他团队或公司控制。因此升级客户比升级服务要昂贵得多。
此外,您将为每个客户端和服务部署大量未使用的代码。从安全角度来看,任何代码都是攻击面的责任。始终尝试部署尽可能少的功能和代码。
https://stackoverflow.com/questions/-100003137
复制相似问题