当前位置: 首页 > 知识库问答 >
问题:

如何高效处理Spring Boot微服务?

法烨烨
2023-03-14

我有一堆在唯一端口中运行的Spring启动微服务。我们如何在生产中处理这些微服务?

在生产中,我们只需要DNS,如何处理DNS映射。

例如:示例微服务-1(端口:8001) 示例微服务-2(端口:8002) 示例微服务-3(端口:8003) 示例微服务-4(端口:8004)



示例微服务-5(端口:8005)

我想要下面的东西,
myprod。com/example-microservice-1
myprod。com/example-microservice-2。。。

而不是,
myprod: 8001/示例微服务-1
myprod: 8002/示例微服务-2

(由于信誉较少,删除了上面的“https/超文本传输协议”)

所有的微服务都存在于一个不同的代码库中,构建时将创建单独的可运行jar。

共有2个答案

宗政子琪
2023-03-14

在spring boot应用依赖于spring cloud的情况下。祖尔才是正确的选择。

请浏览以下指南

https://spring.io/guides/gs/routing-and-filtering/

您可以在此处找到示例应用程序:

https://github.com/BarathArivazhagan/Microservices-workshop

文档参考:http://cloud . spring . io/spring-cloud-网飞/spring-cloud-netflix.html

郜卓君
2023-03-14

只需安装nginx并对您的微服务进行反向代理。

nginx示例:

server {
    listen 80 default_server;
    server_name myprod.com;
    location /example-microservice-1 {
        proxy_pass http://localhost:8001;
        proxy_set_header Host      $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /example-microservice-2 {
        proxy_pass http://localhost:8002;
        proxy_set_header Host      $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
 类似资料:
  • 最近在做微服务的开发,突然发现一个问题,就是微服务好像是每个服务对应一个数据库,那么,微服务之间如果存在关联查询的话,那怎么做跨库查询呢?

  • 我相信这是一个简单的问题,但我找不到答案或至少在搜索中使用正确的术语。 我正在一起设置和。默认情况下,将使用和等路径。 如果可能的话,我希望避免使用path作为哈希。正如Angular文档所述: 路由器的provideRouter函数将LocationStrategy设置为PathLocationStrategy,使其成为默认策略。如果我们愿意,我们可以在引导过程中切换到带有重写的HashLoca

  • 示例:                               >>>服务B(获取消息) 服务A>推送消息>>>服务B(不应接收消息,已复制)                         >>>服务C(获取消息) 我认为它是“路由”和“工作队列”的组合,我需要什么? 但我怎样才能正确地做到这一点呢?我使用node.js或C#(如果您有示例的话)。

  • 问题内容: 我相信这是一个简单的问题,但我找不到答案,或者至少在搜索中使用正确的字词。 我正在设置并在一起。默认情况下,Angular将使用和之类的路径。 如果可能的话,我想避免使用path作为哈希值。如Angular 文档所述: 路由器的r函数将设置为,使其成为默认策略。如果愿意,我们可以在引导过程中使用覆盖切换到。 然后… 几乎所有Angular 2项目都应使用默认的HTML 5样式。它产生的

  • 我现在读了很多关于微服务的书,但仍然不了解其中的一些部分。我画了以下图: 每个微服务有2个访问: REST:对于超文本传输协议使用 gRPC:用于内部/后台通信/交换 如果我想登录,我可以向我的身份验证服务发送一个Http请求。但是,如果我想访问需要您连接的Stuff服务,该怎么办? 假设用户希望显示数据库中可用的内容,服务人员将首先通过与身份验证服务交换来检查连接用户的“令牌”是否正确,然后返回

  • 我的微服务架构中有几项服务。 其中两个服务(服务A、服务B)有不同的api,并提供不同的域逻辑。然而,它们确实共享一些应该从Redis返回的逻辑-用户状态。 当用户状态更改时,我正在从第三个服务发布到我的所有微服务 解决方案: > 我可以创建另一个服务,负责“用户状态”并将保存Redis上的所有用户数据。缺点:我的客户端将对每个api请求进行额外调用(以获取用户状态)。 为每个微服务复制用户状态数