当前位置: 首页 > news >正文

深圳市专业网站建设邢台seo网站制作

深圳市专业网站建设,邢台seo网站制作,重庆十大装饰公司排名,网站制作设及的技术作者 | 磊哥来源 | Java中文社群#xff08;ID#xff1a;javacn666#xff09;转载请联系授权#xff08;微信ID#xff1a;GG_Stone#xff09;Spring Cloud Alibaba 技术体系中的 Nacos#xff0c;提供了两个重要的功能#xff1a;注册中心#xff08;服务注册与发… 作者 | 磊哥来源 | Java中文社群IDjavacn666转载请联系授权微信IDGG_StoneSpring Cloud Alibaba 技术体系中的 Nacos提供了两个重要的功能注册中心服务注册与发现功能和配置中心功能。其中注册中心解决了微服务调用中服务提供者和服务调用者的解耦让程序开发者可以无需过多的关注服务提供者和调用者的运行细节只需要通过 Nacos 的注册中心就可以实现两者的互联互通相当于实现了远程服务本地化并且提供了健康检查等机制。而 Nacos 注册中心又提供了两种服务注册和发现的方法OpenAPI 方法和NacosSDK 方法。所谓的 OpenAPI 是指通过 Nacos 提供的开放 API 地址实现服务的注册与发现而 SDK 方法是通过 Nacos 提供的 SDK 框架也就是使用 spring-cloud-starter-alibaba-nacos-discovery 框架来实现服务注册与发现的功能。1.服务注册1.1 服务注册OpenAPI模式OpenAPI 的使用方式相对来说比较简单首先打开系统的命令行在系统命令行中使用以下命令实现服务注册curl -X POST http://127.0.0.1:8848/nacos/v1/ns/instance?serviceNamespring-cloud-nacos-producerip192.168.76.224port8081以上命令的执行结果如下图所示当返回“ok”结果时表示服务注册成功其中serviceName表示服务名。ip表示客户端程序的 IP 地址。port表示客户端程序的端口号。与此同时我们打开 Nacos 管理后台也可以看到我们注册的服务如下图所示点击服务详情可以看到我们注册的 IP 地址和端口如下图所示1.2 服务注册SDK模式SDK 模式需要先创建一个 Spring Cloud 项目项目创建方法请参考https://mp.weixin.qq.com/s/c4EHDWAlTXKr3Xl17biglA项目创建成功之后添加 Nacos 的 SDK 框架支持最后再配置 Nacos 的相关信息即可具体实现如下。1.2.1 添加 SDK在 pom.xml 中添加 Nacos SDK 框架支持具体配置如下dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency1.2.2 Nacos 配置SDK 框架添加完成之后需要在项目的配置文件中添加相应的配置具体配置内容如下# 应用名称 spring.application.namespring-cloud-nacos-producer # Nacos认证信息 spring.cloud.nacos.discovery.usernamenacos spring.cloud.nacos.discovery.passwordnacos # Nacos 服务发现与注册配置其中子属性 server-addr 指定 Nacos 服务器主机和端口 spring.cloud.nacos.discovery.server-addr127.0.0.1:8848 # 注册到 nacos 的指定 namespace默认为 public spring.cloud.nacos.discovery.namespacepublic设置完以上配置之后启动当前项目程序会自己自动注册到 Nacos 服务端。2.服务发现服务被正确注册到 Nacos 之后就可以通过服务发现正常的调用服务提供者暴露的方法了它的实现方法依然有以下两种。2.1 服务发现OpenAPI模式在系统命令行中使用以下命令实现服务发现curl -X GET http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceNamenacos.naming.serviceName执行结果如下所示以上内容 JSON 格式化之后的信息如下{name: DEFAULT_GROUPspring-cloud-nacos-producer,groupName: DEFAULT_GROUP,clusters: ,cacheMillis: 10000,hosts: [{instanceId: 192.168.76.224#8081#DEFAULT#DEFAULT_GROUPspring-cloud-nacos-producer,ip: 192.168.76.224,port: 8081,weight: 1,healthy: true,enabled: true,ephemeral: true,clusterName: DEFAULT,serviceName: DEFAULT_GROUPspring-cloud-nacos-producer,metadata: {preserved.register.source: SPRING_CLOUD},instanceHeartBeatInterval: 5000,instanceHeartBeatTimeOut: 15000,ipDeleteTimeout: 30000}],lastRefTime: 1644210068852,checksum: ,allIPs: false,reachProtectionThreshold: false,valid: true }其中healthy表示是否开启健康检测功能也就是定期的将自己的健康状态报告给 Nacos 服务器端。ephemeral表示是否为临时实例临时实例下线一段时间之后会被 Nacos 直接剔除。“instanceHeartBeatInterval: 5000”表示每 5s 执行一次健康检测。“instanceHeartBeatTimeOut: 15000”表示如果超过 15s 没有收到客户端心跳包就将此实例设置为非健康状态。“ipDeleteTimeout: 30000”表示如果超过 30s 没有收到心跳包就剔除临时实例。2.2 服务发现SDK模式与 SDK 实现服务注册的步骤类似服务发现也是先要创建 Spring Cloud 项目然后添加 Nacos SDK 框架再配置 Nacos 相关信息最后编写代码来调用服务提供者提供的方法。2.2.1 添加 SDK在项目的 pom.xml 文件中添加 Nacos SDK 框架支持具体内容如下dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency2.2.2 配置 Nacos在项目的配置文件中添加如下 Nacos 的相关配置# 应用名称 spring.application.namespringcloud-nacos-consumer # Nacos认证信息 spring.cloud.nacos.discovery.usernamenacos spring.cloud.nacos.discovery.passwordnacos # Nacos 服务发现与注册配置其中子属性 server-addr 指定 Nacos 服务器主机和端口 spring.cloud.nacos.discovery.server-addr127.0.0.1:8848 # 注册到 nacos 的指定 namespace默认为 public spring.cloud.nacos.discovery.namespacepublic2.2.3 调用服务提供者最后一步在项目中使用 RestTemplate 对象实现调用服务提供者暴露的方法。首先我们需要一个 RestTemplate 对象具体实现代码如下import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate;SpringBootApplication EnableDiscoveryClient public class SpringcloudNacosConsumerApplication {public static void main(String[] args) {SpringApplication.run(SpringcloudNacosConsumerApplication.class, args);}LoadBalancedBeanpublic RestTemplate restTemplate() {return new RestTemplate();} }有了 RestTemplate 对象之后我们就可以调用服务提供者了调用代码如下import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate;RestController public class TestController {Autowiredprivate RestTemplate restTemplate;RequestMapping(/hi)public String hi(String name) {// 调用服务提供者的 sayhi 方法并将结果返回return restTemplate.getForObject(http://spring-cloud-nacos-producer/sayhi/  name,String.class);} }其中“http://spring-cloud-nacos-producer/sayhi/xxx”中的“spring-cloud-nacos-producer”为 Nacos 的服务名“/sayhi/xxx”为服务提供者提供的方法访问地址。从这里可以看出在服务调用者这里无需知道服务提供者的具体地址只需要调用 Nacos 提供的服务名就可以了这样就实现了服务提供者和调用者的请求地址解耦了。小结Nacos 注册中心提供了两种服务注册与发现的方法OpenAPI 方式和 SDK 方式其中比较常用的是 SDK 的实现方式也就是在项目中添加 Nacos 的 SDK再配置好 Nacos 的相关配置就可以实现服务的自动注册和调用了。是非审之于己毁誉听之于人得失安之于数。公众号Java中文社群Java面试合集gitee.com/mydb/interview往期推荐Spring Cloud Alibaba Nacos 服务注册与发现功能实现2022-02-07 Spring Boot Admin贼好使2022-01-14 Spring Boot Admin 报警提醒和登录验证功能实现2022-01-26
http://www.zqtcl.cn/news/670942/

相关文章:

  • 有高并发量门户网站开发经验国家商标局官网查询
  • 正规的招聘网站可信网站标志
  • 网站举报能不能查到举报人佛山企业网站建设电话
  • 家居网站建设如何现在去长沙会被隔离吗
  • 电子烟网站建设win2008iis7配置网站
  • 做网站的是什么职业微信公众号模板素材网站
  • 重庆川九建设有限责任公司官方网站成都网站海口网站建设
  • 珠宝 网站模板如何做公司官网
  • 贵阳网站制作免费iis7.5网站权限配置
  • 温州网站建设专业的公司移动互联网开发学什么专业
  • 集团企业网站建设方案运动服饰网站建设项目规划书
  • 简述网站建设的一般步骤简约的网站建设
  • wordpress删除用户头像昆明做网站优化的公司
  • 西安响应式网站网页设计的模板
  • 古装衣服店网站建设页面网站执行速度
  • 哪里的网站建设哈尔滨网络优化推广公司
  • 给网站做友情链接凡科网干嘛的
  • 网站经常出现502牧星网站建立
  • 个人网站建设的收获dw网站导航怎么做
  • 徐州网站设计快速排名网站
  • dede手机网站跳转口碑营销平台
  • 开一个素材设计网站怎么做的网页传奇手机版
  • 网站开发后端框架什么意思树莓派3 部署wordpress
  • 站长之家最新域名查询合肥网站建设5k5
  • h5做网站什么软件北京公司注销流程及费用
  • 淮北市相山区建设局网站合肥比较好的网站制作
  • 松岗营销型网站建设公司网站需要服务器吗
  • 图书馆网站信息化建设中国seo第一人
  • 域名网站负责人的责任一键制作单页网站
  • 南宁建设局网站建设有限公司