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

手机网站 ui网站运营实例

手机网站 ui,网站运营实例,广东设计公司排名,开网站是干什么的微服务间消息传递 微服务是一种软件开发架构#xff0c;它将一个大型应用程序拆分为一系列小型、独立的服务。每个服务都可以独立开发、部署和扩展#xff0c;并通过轻量级的通信机制进行交互。 应用开发 common模块中包含服务提供者和服务消费者共享的内容 provider模块是…微服务间消息传递 微服务是一种软件开发架构它将一个大型应用程序拆分为一系列小型、独立的服务。每个服务都可以独立开发、部署和扩展并通过轻量级的通信机制进行交互。 应用开发 common模块中包含服务提供者和服务消费者共享的内容 provider模块是服务的提供者用于通过SpringMVC的控制器提供访问接口 服务提供者 RestController RequestMapping(/users) public class HelloController {GetMapping(/hello)public String sayHello(RequestParam String username) {if (username null || username.trim().length() 1)username MicroService;return Provider: hello username !;} }服务消费者 服务消费者通过http协议访问服务提供者可以使用JDK的URL或者使用HttpClient之类的工具但是直接使用工具比较繁琐所以使用SpringBoot提供的RestTemplate进行访问 在主类或者当前应用的配置类上声明RestTemplate SpringBootApplication public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}Beanpublic RestTemplate restTemplate() {return new RestTemplate();} }核心配置主要修改一下访问端口号因为应用的默认端口都是8080会有端口号冲突的问题 server.port7081定义控制器实现访问服务提供者 RestController RequestMapping(/consumer) public class ConsumerController {Autowiredprivate RestTemplate restTemplate;GetMapping(/{name})public String test(PathVariable String name){ //RestTemplate针对RESTful中的get/post/delete/put分别提供了对应的方法String res restTemplate.getForObject(http://localhost:7080/users/hello?username name, String.class);return res;} }测试验证 面试题 http协议的访问流程在浏览器中输入一个URL地址都发生了什么事情 http协议的不同版本的区别与https的区别 http协议中get和post之间的区别 Nacos服务治理 Nacos即Naming and Configuration Service是一个用于动态服务发现、配置管理和服务元数据的开源平台。 Nacos的主要功能包括 服务注册和发现Nacos允许服务实例向注册中心注册自己的信息并且其他服务可以通过查询注册中心来发现可用的服务实例 配置管理Nacos提供了一个中心化的配置管理平台可以动态地管理应用程序的配置信息。开发人员可以在运行时更新配置而不需要重启应用程序 服务元数据管理Nacos可以帮助开发人员管理服务的元数据包括版本号、权重、健康状态等。这些元数据可以用于服务路由、负载均衡等场景 动态DNS服务Nacos支持将服务名称解析为具体的网络地址从而实现动态DNS服务的功能 应用开发步骤 服务提供者 需要添加额外的依赖也就是Nacos的客户端 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacosdiscovery/artifactId /dependency添加配置application.properties # 配置当前应用名称默认情况下向nacos注册的服务名称就是这个名称 spring.application.nameservice-provider # Nacos 服务发现与注册配置其中子属性 server-addr 指定 Nacos 服务器主机和端口 spring.cloud.nacos.discovery.server-addrlocalhost:8848 # 注册到 nacos 的指定 namespace默认为 public spring.cloud.nacos.discovery.namespacepublic # 应用服务 WEB 访问端口 server.port6080添加JavaConfig配置或者在主类上添加注解以启用Nacos客户端 EnableDiscoveryClient Configuration public class NacosDiscoveryConfiguration { }定义服务提供者接口 RestController RequestMapping(/users) public class HelloController {GetMapping(/hello)public String sayHello(RequestParam String username) {if (username null || username.trim().length() 1)username MicroService;return Provider: hello username !;} }服务消费者 依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacosdiscovery/artifactId /dependency添加核心配置application.properties server.port6081 spring.application.nameservice-consumer # Nacos 服务发现与注册配置其中子属性 server-addr 指定 Nacos 服务器主机和端口 spring.cloud.nacos.discovery.server-addrlocalhost:8848 # 注册到 nacos 的指定 namespace默认为 public spring.cloud.nacos.discovery.namespacepublic添加配置类或者在主类上添加注解启用Nacos客户端 EnableDiscoveryClient SpringBootApplication public class Consumer1Application {public static void main(String[] args) {SpringApplication.run(Consumer1Application.class, args);}Beanpublic RestTemplate restTemplate() {return new RestTemplate();} }定义服务消费者 RestController RequestMapping(/consumer) public class ConsumerController{ Autowiredprivate RestTemplate restTemplate;Autowiredprivate DiscoveryClient discoveryClient;GetMapping(/{name})public String test(PathVariable String name){ //服务的名称对应的是服务提供者的application.properties中的配置spring.application.nameservice-providerListServiceInstance instances discoveryClient.getInstances(service-provider); //因为一个服务可以运行在多个节点上或者使用多个进程 //自定义负载均衡策略实现从多个服务提供者实例中选择一个Random rnew Random();ServiceInstance instance instances.get(r.nextInt(instances.size()));String res restTemplate.getForObject(instance.getUri()/users/hello?username name, String.class);return res;} }验证测试 首先启动nacos中间件 startup -m standalone 对应的管理控制台为http://localhost:8848/nacos 启动服务提供者。在Nacos的webUI中就可以看到服务提供者的注册信息 使用该管理控制台可以针对服务提供者的详细信息进行查看例如节点情况 启动服务消费者 引入负载均衡 在消费方引入负载均衡机制同时简化获取服务提供者信息的流程 Spring Cloud引入组件LoadBalance实现负载均衡 添加依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacosdiscovery/artifactId /dependency dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId /dependencyproperties配置 spring.application.nameservice-consumer # Nacos 服务发现与注册配置其中子属性 server-addr 指定 Nacos 服务器主机和端口 spring.cloud.nacos.discovery.server-addrlocalhost:8848 # 注册到 nacos 的指定 namespace默认为 public spring.cloud.nacos.discovery.namespacepublic server.port6082主类上添加对应的注解 EnableDiscoveryClient SpringBootApplication public class Consumer2Application {public static void main(String[] args) {SpringApplication.run(Consumer2Application.class, args);}LoadBalancedBeanpublic RestTemplate restTemplate() {return new RestTemplate();} }定义对应的控制器需要访问服务提供者 RestController RequestMapping(/consumer) public class ConsumerController {Autowiredprivate RestTemplate restTemplate;GetMapping(/{name})public String test(PathVariable String name){ //使用LB后具体的URL地址中使用服务提供者的名称来替代原始的主机名和端口号String res restTemplate.getForObject(http://serviceprovider/users/hello?username name, String.class);return res;} }验证测试 缓存配置 使用LB从Nacos获取服务的注册信息可以在本地进行缓存。添加配置即可 spring.cloud.loadbalancer.cache.enabledtrue 启用本地缓存可以根据实际情况权衡 spring.cloud.loadbalancer.cache.capacity1000 设置缓存空间大小 spring.cloud.loadbalancer.cache.ttl20 缓存的存活时间单位为s订阅更新 缓存有可能和远程的注册信息不一致所以引入长连接的订阅实现Nacos的主动通知更改 spring.cloud.nacos.discovery.watch.enabledtrue
http://www.dnsts.com.cn/news/73193.html

相关文章:

  • 手把手教你入侵网站修改数据ASP做旅游网站代码
  • 黄冈网站建设收费app开发公司怎么学东西
  • 网站做多少屏合适wordpress上传附件类型
  • 手机网站建设开什么类型的票ppt网站
  • 北京发生大事了做推广优化的网站有哪些内容
  • 长春网站快速优化排名一站式网站手机端怎么做
  • php网站如何上传数据库广告艺术设计主要学什么
  • 商丘做微信网站sqwyy高清视频上传wordpress
  • 做网站卖产品要注册公司吗沙田镇仿做网站
  • 网站主页的布局方式wordpress文字字幕
  • 设计师自己的网站那个网站做足球测
  • 做网站的职业凡科建站步骤
  • wordpress+整站下载北京网站推广怎么做
  • 网站建设教程视频百度云建设网站图片高清
  • 东莞网站开发哪里找什么是网站维护中
  • 网站登录系统源码ipsw 是谁做的网站
  • 台州专业网站设计系统周口网站建设多少钱
  • 个人网站建设教程经典网页设计欣赏
  • 广东制冷设备网站建设费用川畅咨询 做网站多少钱
  • 网站后台修改导航栏做网站累吗
  • 如何用七牛云做视频网站做网站用jquery
  • 天河区门户网站招生考试化妆品网站下载
  • 移动端高端网站网站开发的技术指标
  • 刚做还网站第一时间抓取vs2017 如何做网站
  • php网站开发实训感想网站设计实验
  • 做游戏用什么电脑系统下载网站好安卓wap浏览器
  • 营销型网站展示wordpress图片命名
  • 网站运营一个月多少钱广州白云区123号
  • 网站到期域名怎么解决办法做一个app需要多少成本
  • 网站建设开发费怎么做账沧州南皮手机网站建设