bsuart Asked:2020-08-07 21:25:46 +0800 CST2020-08-07 21:25:46 +0800 CST 2020-08-07 21:25:46 +0800 CST Java微服务架构 772 一个微服务通过什么或借助什么与另一个微服务交互? java 2 个回答 Voted Best Answer andreycha 2020-08-07T22:11:59+08:002020-08-07T22:11:59+08:00 值得补充的是,由于每个规范的微服务都是一个单独的进程,理论上处理器间通信选项列表中的任何内容都可以用于与服务交互。尽管大多数通信方法都简化为 HTTP 和消息队列,但服务甚至可以通过文件系统“交互”。例如,可能有一个服务监视数据库表并使用新的/更新的记录执行特定任务。 原来微服务架构的本质是创建许多rest-services,每个rest-services只执行一个特定的任务? 首先,只是服务。REST 已经是一个实现细节。此外,该服务可能根本没有任何 API。其次,创建许多服务当然是实现目标的一种方式。而微服务架构的本质就是遵循单一职责原则。其他一切都从这里开始:实现方法,优点和缺点。 Lex Hobbit 2020-08-07T21:38:10+08:002020-08-07T21:38:10+08:00 有许多不同的技术可以将一个微服务与另一个微服务进行交互。服务可以使用同步请求/响应通信机制,例如基于REST或HTTP的Thrift。或者,他们可以使用基于消息的异步通信机制,例如AMQP或STOMP。还有不同的消息格式。服务可以使用人类可读的文本格式,例如JSON或XML。此外,它们可以使用二进制格式(更高效),例如Avro或Protocol Buffers。
值得补充的是,由于每个规范的微服务都是一个单独的进程,理论上处理器间通信选项列表中的任何内容都可以用于与服务交互。尽管大多数通信方法都简化为 HTTP 和消息队列,但服务甚至可以通过文件系统“交互”。例如,可能有一个服务监视数据库表并使用新的/更新的记录执行特定任务。
首先,只是服务。REST 已经是一个实现细节。此外,该服务可能根本没有任何 API。其次,创建许多服务当然是实现目标的一种方式。而微服务架构的本质就是遵循单一职责原则。其他一切都从这里开始:实现方法,优点和缺点。
有许多不同的技术可以将一个微服务与另一个微服务进行交互。服务可以使用同步请求/响应通信机制,例如基于REST或HTTP的Thrift。或者,他们可以使用基于消息的异步通信机制,例如AMQP或STOMP。还有不同的消息格式。服务可以使用人类可读的文本格式,例如JSON或XML。此外,它们可以使用二进制格式(更高效),例如Avro或Protocol Buffers。