石材网站建设多少钱,重庆公共资源交易中心网,...温岭做网站,英文网站有哪些优维低代码技术专栏#xff0c;是一个全新的、技术为主的专栏#xff0c;由优维技术委员会成员执笔#xff0c;基于优维7年低代码技术研发及运维成果#xff0c;主要介绍低代码相关的技术原理及架构逻辑#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 连载… 优维低代码技术专栏是一个全新的、技术为主的专栏由优维技术委员会成员执笔基于优维7年低代码技术研发及运维成果主要介绍低代码相关的技术原理及架构逻辑目的是给广大运维人提供一个技术交流与学习的平台。 连载第四十四期
《现场定制定制第三方接口接入》
▽
# 第三方接口接入
通过定制 provider 来对接第三方接口有 2 种调用方案
1.直接调用第三方接口 url但这里会有跨域的问题需要第三方接口开放跨域访问
2.将第三方接口注册到优维的 api_gateway这样不会有跨域的问题同时还提供了
后端 api 不需要直接暴露给浏览器避免安全问题名字服务路由能力避免单点和 hardcode ip当前登录用户传递
# api_gateway 配置
首先这要说明下部署架构如下图所示 api_gateway 提供了统一的转发请求服务如果是集群部署则在对外服务的逻辑机器上一般有 2 台或 3 台
cd /usr/local/easyops/api_gateway/
vim conf/conf.default.yaml
你将能看到如下配置
gateway:services:- name: cmdb.* # 匹配 uri 的前缀addr_type: ens # ens|direct, direct 表示不走 ens 解析直接配置目标地址,不填时默认为 ensservice_name: logic.cmdb.resourcehostname: cmdb_resource.easyops-only.comdefault_policy: allow # allow|deny
conf.default.yaml 为默认配置如果需要现场修改请在 conf.yaml如果没有则新建做个性化修改实际配置将会合并两者
vim conf/conf.yaml
将如下内容添加到 conf.yaml 里面
gateway:services:# 添加如下配置将匹配浏览器调用的 uri/api/gateway/your-api-prefix.xxx/aa/bb/- name: your-api-prefix.* # 匹配 uri 的前缀addr_type: ensservice_name: logic.your-api-service-namehostname: your-api-host-namedefault_policy: allow # allow|deny
随后注册 service_name /usr/local/easyops/ens_client/tools/register_service.py logic.your-api-service-name api-port api-ip
可注册多个实例注册多个则在调用时候为轮询策略
[rootmonitor_10_0_5_10 api_gateway]# /usr/local/easyops/ens_client/tools/register_service.py logic.your-api-service-name 8000 192.168.100.89
try register service(logic.your-api-service-name, 8000) at (127.0.0.1:9100)
register service(logic.your-api-service-name, 8000) success!
[rootmonitor_10_0_5_10 api_gateway]# /usr/local/easyops/ens_client/tools/get_all_service.py logic.your-api-service-name
23377279359414395 192.168.100.89 8000
如果想查看当前注册的所有名字服务请在浏览器手动输入 http://your-easyops-console-host/admin/ens 查看列表