我有一个场景,我正在处理多个传入和传出连接。 java中的哪种设计模式适合我处理这种情况。
我有多个传入连接,如FTP,SFTP,HTTP,数据库和多个传出连接,还包括FTP,SFTP,HTTP,数据库。我是设计模式的新手,我只想知道哪种设计模式最适合我的情况。
答案 0 :(得分:1)
我强烈建议使用半同步半异步(http://www.cs.wustl.edu/~schmidt/PDF/PLoP-95.pdf)作为处理(可能)阻止通信创建异步任务的复杂性的一般方法,这些异步任务需要执行才能给出结果回到来电者。
这是一种非常通用的设计模式,因此它确实适合您引用的几种客户端服务器协议。
ESB,在另一个答案中建议不足以满足您的需求,因为它基于一个模型,在该模型中,您有多个进程都连接到消息总线。所有这些进程都交换消息,它们通常都连接到一个或多个消息队列或消息主题。把它想象成邮政服务。所有的房屋(流程)都有相同的角色,他们都与邮政服务部门进行交流,以便交换信息。
在您的问题中,您有两个不同的角色:客户角色和服务器角色。您的问题似乎是如何在内部组织服务器,而不是如何协调服务器或同等对等。