微服务部署
写在前面
亚信的微服务只有端口 36000到36999是通的,所以发布的微服务必须在此区间内
同时启动的时候要使用 -Dserver.ip 来执行运行的ip地址
nohup java -jar -Dserver.ip=188.103.127.70 xxx.jar &
示例配置文件 | resources.zip |
---|---|
示例项目 | 链接:https://pan.baidu.com/s/1AW_z9U6I6ZeHcMFaXiLh6w 提取码:89h2 |
官方示例项目 | fs4zj_gt_mservice.zip |
本地开发模式
配置文件如上。
csf.xml
如果是本地开发的模式 需要将两处 zk去掉
分别是
<NameServer:zk>
<!-- 多个地址用逗号(,)隔开10.1.130.138:21888 -->
<Item name="server.list" value="188.102.2.99:2181,188.102.2.100:2181,188.102.2.101:2181,188.102.2.102:2181,188.102.2.103:2181" />
<!-- 连接超时时间,默认4000ms -->
<Item name="connection.timeout" value="4000" />
<!-- Session超时时间,默认40000ms -->
<Item name="session.timeout" value="40000" />
<!-- 连接断开重试次数,默认5次 -->
<Item name="retry.times" value="5" />
<!-- 重试时间间隔,默认1000ms -->
<Item name="retry.sleep.ms" value="1000" />
</NameServer:zk>
和
<Registry:zk>
<Item name="app.common.args" value="java.naming.factory.initial=com.bes.jndi.CtxFactory" />
</Registry:zk>
这里只要注释,因为上线以后还是要打开
修改 名称,前面的不用动 ,只用改一下绿色框框里的内容就可以了,随便取一个名字
csf.services.xml
这个文件用工具生成registry-2.5.1.rar,打开后按如下步骤操作
设置**项目设置 **你的项目的根目录
设置 **classpath **到你项目的class文件
设置**xml目录配置 **这里设置的地址是 xml文件最终导出的地址
所有设置完毕 点击 save,如果要求重新打开软件,就重新开一下软件
点一下刷新按钮,找到接口文件
右键,注册
不报错的话,就会在你指定的目录下生成一个xml文件
jdbc.properties
里面设置了 当前服务使用的数据库的地址
spring.xml
修改包的扫描路径为项目的路径
spring-logback.xml
不做修改
spring-mybatis.xml
修改两处,改成项目的包名
上线
登录地址和账号
登录亚信微服务管控平台
http://120.199.39.33:18100/msp/home.html
账号 | 密码 | 备注 |
---|---|---|
dx_sw_dev | 12346789 | 用来审核的账号 |
dx_sw_sub | 12346789 | 服务订阅账号 |
dx_sw_opr | 12346789 | 服务定义请求上线的账号 |
运行项目
将上面的 csf.xml 文件注掉的zk打开
修改jdbc.properties文件为 线上环境地址
在线上发布
微服务定义
创建微服务项目大类
登录 dx_sw_opr 账号,选择微服务管控->微服务定义
点击新增微服务
这里的微服务名称就是之前在 csf.xml 里定义的名称
点击确定后,需要管理账号的审核
登录 dx_sw_dev ,审批通过刚才的请求,之后我们所说的审批都是这一步 ,就不再叙述了
服务定义
创建大类下的各个具体服务
点击服务导入
上传csf.service.xml文件
然后勾选要导入的具体服务,点击确定,这里服务编码的规则就是 服务大类_方法名
然后 去 审核
审核步骤见上
服务上线
点击 服务生命周期管理 勾选服务,选择批量上线,然后进行审核
服务订阅
登录 dx_sw_sub 账号
右侧勾选 ,然后点击订阅,然后进行 审批
到这里为止,微服务已经部署完毕~
测试
在订阅查询中,点击右侧的小图标
可以看到服务的详细信息
本地测试
url地址 | 127.0.0.1:36996/csf/LABEL_ILableDetailInfoControllerCSV_findLabelDetailAddDatasource | csf 后面的一大串就是上图的API编码 |
---|---|---|
请求格式 | POST | |
headers | **Content-Type:**application/json **serialize-type:**json **csf_version:**1.0 | |
参数 | { “projectId”:“label”, “labelName”:“新建23” } | 参数就是你接口中的参数,采用json格式传递 |
线上测试
在登录4A后,访问
http://188.103.127.73:30001/swagger-ui.html
在下面填上数据
{
"params": {"projectId":"label",
"labelName":"新建23"},
"servicecode": "LABEL_ILableDetailInfoControllerCSV_findLabelDetailAddDatasource"
}
params 是参数,采用json格式
servicecode 就是服务的API编码
点击
这里看执行结果