You need to enable JavaScript to run this app.
导航
接入 Java 应用
最近更新时间:2024.06.24 15:47:32首次发布时间:2023.09.27 16:47:12

微服务引擎支持通过接入指引,自动生成应用接入工作负载所需的 Label 和 Annotation 信息。将生成的 Label 和 Annotation 信息添加到部署应用的工作负载,并运行成功后,即可将应用接入微服务引擎。本文介绍如何将 Java 应用接入微服务引擎。

背景信息

功能功能介绍适用场景
延迟下线支持服务在注册中心注销后,延迟一定时间再下线实例,以确保在途请求的完成。延迟下线的时间支持自定义配置,默认为 5000 毫秒。无损下线详细介绍参见 延迟下线通过反注册和驻留时间,避免服务下线过程中的流量中断。
自适应下线自适应下线是对原有延迟下线的能力的补充。自适应下线就是在实例触发实际下线后,进行服务端接受请求、在途请求和刷新客户端缓存操作。用户无需关注驻留时间配置即可在最大限度避免实例下线的流量异常。服务下线过程中完成在途请求处理,避免业务中断。
延迟注册延迟注册可以让应用在充分初始化后,再注册到注册中心,对外提供服务。延迟注册可以应对需要提前完成缓存数据加载的场景,避免应用启动后直接注册服务,流量资源未就绪而导致的报错。
  • 本地缓存加载
  • 本地文件加载

前提条件

  • 已创建治理中心,操作方法参见 创建治理中心

  • 已创建同步任务,生成治理中心中服务网格命名空间。创建同步任务的方法参见 创建同步任务

    说明

    服务网格命名空间的名称由 Nacos 注册中心名称、Nacos 命名空间名称和 NacosGroup 名称拼接而成。创建同步任务时,自动生成治理中心中服务网格命名空间。

操作步骤

  1. 登录 微服务引擎控制台

  2. 左侧导航栏单击 治理中心 > 接入指引

  3. 接入指引 页面,填写服务配置并获取应用接入工作负载所需的 Label 和 Annotation 信息。

    1. 配置接入设置。
      alt

      参数说明
      接入类型选择 内部服务
      选择语言选择接入服务的开发语言,接入 Java 服务时选择 Java
    2. 配置服务信息。
      alt

      参数说明
      治理中心展示接入应用所属治理中心。
      命名空间展示接入应用所属治理中心中服务网格命名空间。服务网格命名空间的名称由 Nacos 注册中心名称、Nacos 命名空间名称和 NacosGroup 名称拼接而成。创建同步任务时,自动生成治理中心中服务网格命名空间。

      说明

      开启 高级配置 后,支持配置以下参数。

      参数说明
      泳道选择应用接入的泳道。创建泳道的方法参见 创建流量泳道
      延迟下线开启延迟下线后,支持服务在注册中心注销后,延迟一定时间再下线实例,以确保在途请求的完成。延迟下线的时间支持自定义配置,默认为 5000 毫秒。无损下线详细介绍参见 延迟下线
      自适应下线在实例触发实际下线后,进行服务端接受请求、在途请求和刷新客户端缓存操作。用户无需关注驻留时间配置即可在最大限度避免实例下线的流量异常。
    3. 单击获取应用接入微服务引擎所需的 Label 和 Annotation 信息。

      alt

  4. 配置 Deployment。将获取的 Label 和 Annotation 信息添加至已创建的 Deployment 中并更新成功即完成应用接入。

    spec:
      template:
        metadata:
          annotations:
            sidecar.mesh.io/prestop-timeout: "5000"
          labels:
            sidecar.mesh.io/data-plane-mode: "java_proxyless"
            sidecar.mesh.io/lane: "****-****-13"
            sidecar.mesh.io/mse-namespace: "nacos-****-****-openapi-group"
    
    类型参数说明示例
    annotationssidecar.mesh.io/prestop-timeout可选,开启无损下线后支持。实例延迟下线的时长,单位为毫秒,支持根据实际业务情况调整时长。sidecar.mesh.io/prestop-timeout: "5000"

    labels

    sidecar.mesh.io/data-plane-mode

    微服务引擎数据面组件。

    sidecar.mesh.io/data-plane-mode: "java_proxyless"

    sidecar.mesh.io/lane服务所处泳道名称。sidecar.mesh.io/lane: "mse-base"

    sidecar.mesh.io/mse-namespace

    服务所处治理中心中服务网格命名空间。服务网格命名空间的名称由 Nacos 注册中心名称、Nacos 命名空间名称和 NacosGroup 名称拼接而成。创建同步任务时,自动生成治理中心中服务网格命名空间。

    sidecar.mesh.io/mse-namespace: "nacos-test-public-default-group"

  5. (可选)补充自定义 Header。
    当您需要对 HTTP 请求中 Header 用于流量标识时。可以在入口服务工作负载的 Java 启动命令增加 -Dmse.custom.propagate.header.keys 启动参数,参数的 Value 值为自定义业务 Header 的 Key 值。例如,采用自定义 Header "x-canary:true" 的示例如下:

    - args:
            - -c
            - /jdk/bin/java -jar -Dmse.custom.propagate.header.keys= x-canary xxx.jar
    

    注意

    为保障传输性能,单个治理中心内,仅允许设置 10 个自定义 Header,多个之间用 "," 分割。超出的自定义 Header 自动丢弃。