配置注册中心 (在此之前你必须有已经部署好的注册中心集群,Femas不绑定任何注册中心,你可以将任意注册中心托管到Femas平台)
Femas治理服务列表来源用户注册中心的服务数据。
集群地址支持IP:port逗号隔开,或者域名方式
创建命名空间
命名空间绑定配置的注册中心
femas治理中心的服务列表是以命名空间维度逻辑隔离,服务列表从第三方注册中心拉取,拉取条件是接入FemasSDK且服务标记(下文中通过—D写入的命名空间ID)的命名空间和列表选取的命名空间一致。
完成以上两步之后,接下来就可以通过SDK接入femas将服务纳管到paas平台了。
在femas父pom下执行脚本:
mvn -Dmaven.test.skip=true clean install -U
添加依赖
<!-- 注册中心原生依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
<version>${femas.latest.version}</version>
</dependency>
<!-- femas中间件依赖 -->
<dependency>
<groupId>com.tencent.tsf</groupId>
<artifactId>femas-springcloud-greenwich-starter</artifactId>
<version>${femas.latest.version}</version>
</dependency>
目前femas支持starter列表目录:cd femas-starters/
默认支持的版本组件有:
<aside>
✅ springcloud greenwich
</aside>
<aside>
✅ springcloud 2020
</aside>
<aside>
✅ springcloud gateway
</aside>
<aside>
✅ springcloud zuul
</aside>
配置文件
业务应用原生配置文件,路径为:resources/bootstrap.yaml
server:
port: 18001
spring:
application:
name:
femas-springcloud-consumer
cloud:
consul:
host: 127.0.0.1
port: 8500
discovery:
serviceName: femas-springcloud-consumer
instanceId: ${spring.application.name}-${server.port}-${spring.cloud.client.hostname}
heartbeat:
enabled: true
# nacos:
# discovery:
# server-addr: 127.0.0.1:8848
# 配置paas后台地址,如果没有配置,则从本地配置文件获取规则
paas_server_address: <http://127.0.0.1:8080>
# 使用Femas提供的方式接入注册中心,dubbo或者自研协议的使用方式
femas_registry_ip: 127.0.0.1 //注册中心集群地址
femas_registry_port: 8500 //注册中心端口号
femas_registry_type: consul //注册中心类型
#以下配置可选,用于配置加载基础组件类型及本地治理规则,不加则加载femas默认配置。
rateLimit:
type: femasRateLimit
authenticate:
type: femasAuthenticate
serviceRouter:
chain:
- FemasDefaultRoute
loadbalancer:
type: random
circuitBreaker:
enable: true
chain:
- femasCircuitBreaker
启动服务命令
# 接入femas必须参数
-Dfemas_namespace_id=命名空间ID //服务需要指定所属命名空间-Dfemas_prog_version=服务版本 //指定服务所属的版本(部署组),配合sdk侧的实现服务治理,如流量分拨路由# 有监控需求的用户按需添加,非必须
-javaagent:"{skywalking agent绝对路径}/agent/skywalking-agent.jar" // 引用skywalking的agent探针-Dskywalking.agent.service_name=注册到skywalking上的服务名,需要跟注册中心名称一致,否则tracing链路观测会找不到相应服务。-Dskywalking.collector.backend_service=skywalking 后端地址,可以覆盖agent的conf配置