PmHub 整合 Nacos 实现服务微服务注册及配置,全文 6000+字
球友好,欢迎来到 Nacos 这一篇。如果要考试划重点的话,我觉得此篇是重中之重。目前来说,在国内,注册中心和配置中心都是通过 Nacos 来完成的。
所以,学习本篇对实际上手工作(即便不是微服务)有很大的帮助。
前言
我们先来看一个问题,在单体应用中,所有的接口都打包成了一个 jar 包,然后放到服务器上去部署。这个时候,接口都是放在 controller 里面,一个接口要调另外一个接口,需要引入 service,然后通过 service 来调用。(不会AxxController 直接调用BxxController)。
很好理解,对吧?也就是说单体内部如果需要调来调去就需要注入 service。
如果 service 需要调用外部服务呢?
我想有经验的你肯定会说,那还不简单,直接 http 调用呗,写上对方服务的 url,然后发起 post 请求或者 get 请求,等待响应结果就好了呀。比如下面这串代码:
public class BaiduTranslateExample {
public static void main(String[] args) throws Exception {
// 请替换为您的AppID和密钥
String appId = "YOUR_APP_ID";
String secretKey = "YOUR_SECRET_KEY";
// 待翻译的文本
String query = "Hello world";
// 翻译源语言和目标语言
String from = "en";
String to = "zh";
// 随机数salt
String salt = String.valueOf(new Random().nextInt(10000));
// 签名计算: sign = MD5(appid+q+salt+密钥)
String sign = md5(appId + query + salt + secretKey);
// 构造参数
String params = "q=" + URLEncoder.encode(query, StandardCharsets.UTF_8)
+ "&from=" + from
+ "&to=" + to
+ "&appid=" + appId
+ "&salt=" + salt
+ "&sign=" + sign;
// Baidu翻译API地址
String url = "https://fanyi-api.baidu.com/api/trans/vip/translate";
// 使用HttpClient发送POST请求
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/x-www-form-urlencoded")
.POST(HttpRequest.BodyPublishers.ofString(params))
.build();
// 发送请求并获取响应
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// 解析返回的JSON数据
if (response.statusCode() == 200) {
JSONObject json = new JSONObject(response.body());
if (json.has("trans_result")) {
// 提取翻译结果
String result = json.getJSONArray("trans_result").getJSONObject(0).getString("dst");
System.out.println("翻译结...
已加入星球,可直接知识星球授权登录
二哥编程星球目前包含:
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
1 条评论
回复