我有一个基于TCP / IP的组件,它与基于c ++的系统进行通信。实际上,它正在从该系统读取原始字节,然后将这些原始字节封送在对象中并将其存储在DB中。这个基于多线程tcp / ip的组件在java中,可以部署在双核或四核处理器上(不确定它是否对我的问题很重要,但不过我提供的细节)。现在我有几个问题:
如何扩展此基于tcp / ip的组件。此组件部署在服务器上并正在侦听端口。将来,如果此时设想的数据来自C ++系统,我们应该能够扩展这个java组件。
安全性怎么样?我可能做的一件事是在安全套接字上使用这种通信,或者可能获得加密数据(我可以在这里使用的任何特定加密?)。还有其他方式来处理安全问题吗?
还要求满足高可用性。我该如何处理?我怎么可能在这里有冗余?
是的,我们正在研究产品的系统架构,因此,我想知道是否有一些经验丰富的建筑师或设计师可以帮助我。
答案 0 :(得分:3)
如何扩展此基于tcp / ip的组件。此组件部署在服务器上并正在侦听端口。将来,如果此时设想的数据来自C ++系统,我们应该能够扩展这个java组件。
您通常使用网络负载均衡器来跨多个服务器扩展这些类型的服务。该负载均衡器可以使用各种算法分配负载,例如:
查看HAProxy的流行开源负载均衡器。 F5拥有最受欢迎的商业负载均衡解决方案。
安全性怎么样?我可能做的一件事是在安全套接字上使用这种通信,或者可能获得加密数据(我可以在这里使用的任何特定加密?)。还有其他方式来处理安全问题吗?
还要求满足高可用性。我该如何处理?我怎么可能在这里有冗余?
很大程度上取决于您的高可用性是什么意思,以及您需要什么样的恢复时间。在较高的层面上,您有几个选择:
要做任何类型的医管局,您可能想聘请一位在实施这些服务方面有良好记录的顾问(如果您内部没有此类资源)。