购物网站建设网长沙网红景点

web/2025/10/6 0:43:48/文章来源:
购物网站建设网,长沙网红景点,二人对战的微信小程序,wordpress简洁设置微服务注册中心 注册中心可以说是微服务架构中的”通讯录“#xff0c;它记录了服务和服务地址的映射关系。在分布式架构中#xff0c;服务会注册到这里#xff0c;当服务需要调用其它服务时#xff0c;就这里找到服务的地址#xff0c;进行调用。 微服务注册中心 服务注…微服务注册中心 注册中心可以说是微服务架构中的”通讯录“它记录了服务和服务地址的映射关系。在分布式架构中服务会注册到这里当服务需要调用其它服务时就这里找到服务的地址进行调用。 微服务注册中心 服务注册中心简称注册中心是微服务框架的一个重要组件在微服务架构里主要起到了协调者的一个作用注册中心一般包括如下几个功能 注册发现 服务注册/反注册保证服务提供者和服务调用者的信息服务订阅/取消订阅服务调用者订阅服务提供者的信息最好有实时推送的功能服务路由可选具有筛选整合服务提供者的能力 服务配置 配置订阅服务提供者和服务调用者订阅微服务相关的配置配置下发主动将配置托送给服务提供者和服务调用者 服务监控检测 检测服务提供者的健康情况 常见的注册中心 Zookeeper zookeeper它是一个分布式服务框架是Apache Hadoop 的一个子项目它主要是用来解决分布式应用中经常遇到的一些数据管理问题如统一命名服务、状态同步、集群管理、分布式应用配置项的管理等。简单来说zookeeper文件系统监听通知机制 Eureka Eureka是Java语言上基于Restful Api开发的服务注册与发现组件SpringCloud Netflix 中的重要组件 Consul Consul是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件采用Raft算法保证服务的一致性并且支持健康检查 Nacos Nacos是一个更易于构建云原生应用的动态服务发现配置管理和服务平台简单来说Nacos就是注册中心配置中心的组合提供简单易用的特征集帮助我们解决微服务开发必会涉及到的服务注册与发现服务配置服务管理等问题。Nacos还是Spring Cloud Alibaba 组件之一负责服务注册与发现 组件名语言CAP一致性算法服务健康检查对外暴露接口EurekaJavaAP无可配支持HTTPConsulGoCPRaft支持HTTP/DNSZookeeperJavaCPPaxos支持客户端NacosJavaAPRaft支持HTTP Eureka闭源影响 在Eureka的GitHub上宣布Eureka 2.x闭源。意味着如果开发者继续使用作为2.x分支上现有的工作时自负风险 Nacos简介 Nacos致力于帮助您发现配置和管理微服务。Nacos提供了一组简单易用的特征集帮助您快速实现动态服务发现服务配置服务元数据及流量管理。Nacos的作用就是一个注册中心用来管理注册上来的各个微服务 Nacos下载地址 https://github.com/alibaba/nacos/releases,下载zip格式的安装包解压安装 Nacos的启动 命令启动 # 切换目录 cd nacos/bin # 命令启动 startup.cmd -m standalone双击启动startup.cmd 运行 Nacos启动浏览器访问http://localhost:8848/nacos即可访问服务默认的账号密码是nacos/nacos 项目中搭建Nacos 基于原来的项目搭建Nacos 将shop_product商品微服务注册到Nacos 实现步骤 pom文件中添加Nacos依赖 !--nacos客户端-- !--服务注册-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency在启动类上添加EnableDiscoveryClient注解 SpringBootApplication EnableDiscoveryClient public class ShopOrderApplication {public static void main(String[] args) { SpringApplication.run(ShopOrderApplication.class, args);} }在application.yaml中添加Nacos服务的地址 server:port: 8081 spring:application:name: service-product # 注册到服务中心中的名字datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql:///shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrueusername: rootpassword: 123456# 配置nacoscloud:nacos:discovery:server-addr: localhost:8848#server-addr: nacos服务地址:端口号启动服务观察Nacos的控制面板中是否有注册上来的商品微服务 刷新nacos能看到注册的微服务即注册成功 将shop_order订单微服务注册到Nacos 实现步骤 在pom文件添加nacos的依赖 !--nacos客户端-- !--服务注册-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency在启动类上添加EnableDiscoveryClient注解 SpringBootApplication EnableDiscoveryClient public class ShopOrderApplication {public static void main(String[] args) { SpringApplication.run(ShopOrderApplication.class, args);} }在application.yaml中添加nacos服务的地址 server:port: 8091 spring:application:name: service-order # 注册到服务中心中的名字datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql:///shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrueusername: rootpassword: 123456cloud:nacos:discovery:server-addr: 127.0.0.1:8848启动服务观察nacos的控制面板中是否有注册上来的订单微服务,同shop_product 服务调用Ribbon入门 经过以上的学习已经实现了服务的注册和服务发现。当启动某个服务的时候可以通过HTTP的形式将信息注册到注册中心并且可以通过SpringCloud提供的工具获取注册中心的服务列表。但是服务之间的调用还存在很多的问题如何更加方便的调用微服务多个微服务的提供者如何选择如何负载均衡等 Ribbon的概述 是Netflixfa 发布的一个负载均衡器有助于控制 HTTP 和 TCP客户端行为。在 SpringCloud 中Nacos一般配合Ribbon进行使用Ribbon提供了客户端负载均衡的功能Ribbon利用从Nacos中读取到的服务信息在调用服务节点提供的服务时会合理的进行负载。 在SpringCloud中可以将注册中心和Ribbon配合使用Ribbon自动的从注册中心中获取服务提供者的列表信息并基于内置的负载均衡算法请求服务 Ribbon的主要作用 服务调用 基于Ribbon实现服务调用是通过拉取到的所有服务列表组成(服务名-请求路径的)映射关系。借助RestTemplate最终进行调用 负载均衡 当有多个服务提供者时Ribbon可以根据负载均衡的算法自动的选择需要调用的服务地址 基于Ribbon实现服务调用 需求基于Ribbon实现订单调用商品的服务 实现步骤 坐标依赖 在springcloud提供的服务发现的jar中已经包含了Ribbon的依赖。所以在这不需要子啊导入任何额外的坐标 工程改造 服务消费者服务的调用者 在注入RestTemplate的方法上添加注解LoadBalanced注解 Configuration public class RestTemplateConfig {BeanLoadBalancedpublic RestTemplate getRestTemplate(){return new RestTemplate();} }通过服务名称消费使用 RestController RequestMapping(/order) public class OrderController {Autowired(required false)private IOrderService orderService;Autowired(required false)private RestTemplate restTemplate;// 模拟下订单业务RequestMapping(/save/{pid})public Order order (PathVariable(pid) int pid) {// 调用商品的微服务String url service-product;Product product restTemplate.getForObject(http:// url /product/ pid, Product.class);// 创建订单Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(pid);order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderService.save(order);return order;} }注意restTemplate.getForObject(“http://商品服务名称/product/1”pidProduct.class) 这里的商品服务名称是注册商品服务时的名称即shop_product的yaml配置文件中的application.name 路径是根据shop_product中通过id查询商品的路径编写 服务调用Ribbon高级 负载均衡概述 在搭建网对时如果单节点的 web服务性能和可靠性都法达到要求或者是在使用外网服务时经常担心被人攻破一不小就会有打开外网端口的情况通常这时加人负载有就能有效 决服务问题。 负载均衡是一种基础的网络服务其原理是通过运行在前面的负载均衡服务按照指定的负载均衡算法将流量分雷到后端服务集群上从而为系统提供并行扩展的能力。 负载均衡的应用场景包括流量包、转发规则以及后端服务由于该服务有内外网隔离健康检查功能能够有效提供系统的安全性和可用性。 负载均衡分类 客户端负载均衡 先发送请求到负载均衡服务器或者软件然后通过负载均衡算法在多个服务器之间选择一个进行访问;即在服务器端再进行负载均衡算法分配 服务端负载均衡 客户端会有一个服务器地址列表在发送请求前通过负载均衡算法选择一个服务器然后进行访问这是客户端负载均衡即在客户端就进行负载均衡算法分配 基于Ribbon实现负载均衡 需求实现订单和商品之间的客户端负载均衡 实现步骤 先搭建多服务实例即水平拓展 订单服务需要调商品服务所以需要再启动一个shop-product微服务设置端口号为8082 启动两个shop_product和shop_order 发送多次请求可以在调用的product服务中打印内容查看控制台打印内容Ribbon默认的负载均衡策略是轮询的方式 负载均衡的策略 Ribbion内置了多种负载均衡策略内部负责负载均衡的顶级接口为com.netflix.loadbalancer.IRule com.netflix.loadbalancer.RoundRobinRule以轮询的方式进行负载均衡com.netflix.loadbalancer.RandomRule随机策略com.netflix.loadbalancer.RetryRule重试策略com.netflix.loadbalancer.WeightedResponseTimeRule权重策略。会计算每个服务的权重越高的被调用的可能性越大com.netflix.loadbalancer.BestAvailableRule最佳策略。遍历所有的服务实例过滤掉故障实例并返回请求数最小的实力返回com.netflix.loadbalancer.AvailabilityFilteringRule可用过滤策略。过滤掉故障和请求次数超过阈值的服务实例再从剩下的实例中轮询调用ZoneAvoidanceRule以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类这个Zone可以理解为一个机房一个机架等而后再对Zone内的多个服务做轮询 自定义指定负载均衡策略 方式一全局设置 定义一个新的IRule Bean public IRule randomRule(){return new RandomRule(); // 随机策略 }方式二局部设置 在yaml配置文件中配置 在shop_order客户端配置文件中的yaml文件中配置被调用的服务需要调用的服务器名称和策略 server:port: 8091 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql:///shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrueusername: rootpassword: 123456cloud:nacos:discovery:server-addr: 127.0.0.1:8848 # 配置随机策略 # 需要调用的服务器名称 service-product:ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule# 随机策略完全路径Nacos配置管理 Nacos除了可做注册中心同样可以做配置管理来使用 统一配置管理 当微服务部署的实例越来越多达到数十、数百时逐个修改微服务配置就会让人抓狂而且很容易出错我们需要一种统一配置管理方案可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理另一方面可以在配置变更时即使通知微服务实现配置的热更新 在业界中常见的服务配置中心如下 **Apollo**由携程开源的分布式配置中心。特点很多配置更新之后可以实时生效支持灰度发布功能并且能对所有的配置进行版本管理、操作审计等功能提供开放平台API。并且 料也写的很详细**Disconf**由百度开源的分布式配置中心。它是基于Zookeeper来实现配置变更后实时通知和生效的**SpringCloud Config**Spring Cloud中带的配置中心组件。它和Spring是无缝集成使用起来非常方便并且它的配置存储支持Git不过它没有可视化的操作界面配置的生效也不是实时的需要重启或去刷新**Nacos**SpringCloud alibaba技术栈中的一个组件前面我们已经使用它做过服务注册中心。其实它也继承了服务配置的功能我们可以直接使用它作为服务配置中心 在nacos中添加配置文件 nacos配置中心新建配置起名规范 服务名称-环境简称.文件后缀shop_order-dev.yaml 从微服务拉取配置 微服务要拉取nacos中管理的配置并且与本地的application.yaml配置合并才能完成项目启动 spring引入了一种新的配置文件boostrap.yaml文件会在application.yaml之前被读取流程 配置实现步骤 引入nacos-config依赖 !--统一配置-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId /dependency添加bootstrap.yaml 不能使用原来的application.yaml作为配置问价你新建一个bootstrap.yaml作为配置文件 server:port: 8091 spring:application:name: service-ordercloud:nacos:config:server-addr: 127.0.0.1:8848 #nacos 中心地址file-extension: yaml # 配置文件格式profiles:active: dev #环境表示开发环境配置文件优先级由高到低 bootstrap.properties–bootstrap.yaml–application.properties–application.yaml 在nacos中添加配置service-order-dev 测试 模拟下单业务正常下单即成功 配置热更新 最终目的是修改nacos中的配置后微服务中无需重启即可让配置文件生效也就是配置热更新。实现热更新两种方式 在配置中心添加配置随便起的键值对为了看效果 config:env: test 方式一 只需要在需要动态读取配置的类上添加RefreshScope注解就可以 RestController RequestMapping(/order) RefreshScope // 动态读取配置 public class OrderController {Value(${config.env})private String appName;GetMapping(/nacos-config-test)public String nacosConfigTest(){return appName;} }方式二 硬编码方式 Value((${config.env})) private String env; Autowired private ConfigurableApplicationContext applicationContext;GetMapping(nacos-config-test2) public String nacosConfigTest2(){return applicationContext.getEnvironment().getProperty(config.env); }当在配置中心中修改了config.env键值对服务不需要重新启动即可拿到修改后的值 配置共享 配置共享即抽取相同的配置 同服务内配置共享 实现步骤 新建一个以service-order命名的配置文件然后将其所有环境的公共配置放在里面 新建一个名为service-order-test.yaml配置存放测试环境的配置 新建一个名为service-order-dev.yaml配置存放开发环境的配置 在两个环境文件中配置独有信息 添加测试方法 修改bootstrap.yaml中的环境看字符串打印的内容 profiles:active: dev #环境表示开发环境#activetestValue((${config.env})) private String env;GetMapping(/nacos-config-test3) public String nacosConfigTest3(){return env; }不同微服务共享配置 不同服务之间实现配置共享的原理类似于文件引入就是定义一个公共配置然后在当前配置中引入 在nacos中定义一个DataID为all-service.yaml随便起的配置用于所有微服务共享 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql:///shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrueusername: rootpassword: 123456cloud:nacos:discovery:server-addr: 127.0.0.1:8848修改bootstrap.yaml server:port: 8091 spring:application:name: service-ordercloud:nacos:config:server-addr: 127.0.0.1:8848 #nacos 中心地址file-extension: yaml # 配置文件格式shared-dataids: all-service.yaml #配置要引入的配置refreshable-dataids: all-service.yaml # 配置要实现动态配置刷新的配置profiles:active: dev #环境表示开发环境启动商品微服务测试 配置共享的优先级 当nacos、服务本地同时出现相同属性时优先级有高低之分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

主机屋网站在那注册展览会建设网站平台的作用

关于 情绪检测,是脑科学研究中的一个常见和热门的方向。在进行情绪检测的分类中,真实数据不足,经常导致情绪检测模型的性能不佳。因此,对数据进行增强,成为了一个提升下游任务的重要的手段。本项目通过DCGAN模型实现脑…

临沂定制网站建设公司我公司要网站建设

之前的学习笔记“SPI不够用?USART来帮忙”一文中介绍了用如何把USART当做SPI来用的方法。此外,ST的USART还有很多新特性,没准有你不知道的。在此,我们整理出来以下串口新特性,供大家参考。支持RXD和TXD管脚互换很多时候…

东平做网站苏州吴中区seo关键词优化排名

Ajax的传递json数据的实现&#xff1a; 看这篇之前建议大家去看看前面两篇文章&#xff1a; 1.Ajax基本案例详解之$.ajax的实现 2.Ajax基本案例详解之$.get的实现 现在来看一下具体的内容&#xff0c;在index.jsp的<script>里面写&#xff1a; $.ajax({url:"…

镇江网站建设远航科技用vs2017做网站

HUAWEI Mate X3是全球首款四曲折叠手机&#xff0c;轻薄实力派。它采用了独创的寰宇舷窗设计&#xff0c;内外双屏高清呈现均支持120Hz疾速高刷&#xff0c;10.7亿色彩显示&#xff0c;获得德国莱茵TV色准和准确色彩投射双认证。无论是看视频、玩游戏、办公学习&#xff0c;还是…

油边机 东莞网站建设四川德行天下建设工程有限公司网站

目录 1.什么是LRU算法 2.LRU算法原题描述 3.LRU算法设计 4.LRU算法细节分析 5.代码实现 1.什么是LRU算法 就是一种缓存淘汰策略。 计算机的缓存容量有限&#xff0c;如果缓存满了就要删除一些内容&#xff0c;给新内容腾位置。但问题是&#xff0c;删除哪些内容呢&#…

wordpress内置编辑器免费seo网站推广

在当今数字化时代&#xff0c;IP地址定位工具成为了许多领域中不可或缺的技术支持&#xff0c;为网络安全、地理定位服务和个性化推荐等提供了重要数据支持。其中&#xff0c;IP数据云作为一种领先的IP地址定位工具&#xff0c;具有一系列功能和优势&#xff0c;本文将对其进行…

做网站的公司还市场吗做任务的正规网站

目录 1 vmware exporter安装配置1.1 vmware exporter介绍1.2 安装 - 使用kubernetes部署1、下载2、修改配置文件3、执行安装4、查看 1.3 安装-使用docker的方式1.4 Prometheus配置1.5 Grafana配置&#xff08;模板页面还需要修改&#xff09; 总结 1 vmware exporter安装配置 …

网站com域名上不去cn能深圳信息公司做关键词

一,工具简介 biolatency 跟踪块设备 I/O(磁盘 I/O),并记录 I/O 延迟(时间)的分布,通过 Ctrl-C 可以停止跟踪,并将其以直方图的形式打印出来。 它通过动态追踪blk_族函数(与块设备相关的内核函数)并记录函数的变化,从而收集块设备I/O的延迟信息。它记录I/O延迟的分…

网站建设宗旨抑郁症图片加时间生成器在线制作

这题分块搞一搞&#xff0c;算到最后发现结果就是算矩阵J的行列式&#xff0c;要取模m&#xff0c;那个sign消掉了。 参考文献在这&#xff0c;欧几里德算法的应用&#xff0c;金斌 代码还是比较好写的&#xff0c;python代码 n,mmap(int,raw_input().split()) a[] for i in ra…

公司内部网站源码怎么自己做游戏

标题&#xff1a;【leetcode】双指针 水墨不写bug 我认为 讲清楚为什么要用双指针 比讲怎么用双指针更重要&#xff01; &#xff08;一&#xff09;快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数…

免费成品网站下载网站添加支付宝

AI产品发展到现在&#xff0c;消费端的产品应用还受到比较大的限制&#xff1b;但是在B端&#xff0c;已经有了不错的表现。作者总结了AI产品在B端的几款应用&#xff0c;一起来看看表现如何。 生成式AI在B端产品的应用分析© 由 ZAKER 提供 随着今年生成式AI应用的大范围…

公司网站后台是什么制作图片网站

1.chunk拆分对最终效果的影响 2.改进知识的拆分方案 3.AI套件 4.相似性检索的关键&#xff1a;embedding技术 嵌入技术是相似性检索的关键&#xff0c;它能够将数据转换为向量表示&#xff0c;并通过比较向量之间的相似性来实现相似性检索&#xff1b;embedding&#xff1a;将…

邯郸推广网络宣传哪家好优化网站用软件好吗

1.Ctrl鼠标点击函数名&#xff08;对应的函数名会加下划线&#xff09; 或 Ctrlg 2.help(function) 在某些情况下方法1失效&#xff0c;比如TensorFlow中的一些函数tf.constant&#xff0c;他只会跳转到一个init文件&#xff0c;并不会展示函数原型。 所以可以这样help(tf.co…

网站建设与维护典型案例小程序模板套用教程

因为本章的内容是使用jq工具配合完成&#xff0c;因此在开始部分会先花一定的篇幅介绍jq机器使用&#xff0c;如果读者已经熟悉jq&#xff0c;可以直接跳过这部分。 先来看应用场景&#xff0c;App 经常会有一些信息展示的列表页&#xff0c;比如商家的菜品、股票的公司、文章的…

深圳百度网站推广广州 网站建设模板

netflix 模式创新单例设计模式是一种软件设计模式&#xff0c;用于将类的实例化限制为一个对象。 与其他创建设计模式&#xff08;例如抽象工厂 &#xff0c; 工厂和构建器模式&#xff09;相比&#xff0c;单例将创建一个对象&#xff0c;但也将负责&#xff0c;因此该对象只…

闸北区网站设计与制网站制作服务合同

文章目录 MATLAB句柄函数句柄的简单操作函数 MATLAB句柄 MATLAB平台对于函数调用分为直接调用和间接调用。直接调用即调用子函数。   子函数只能被与它所在M文件同名的主函数或者在M文件内的其他函数调用。一个文件只能有一个主函数。   使用函数句柄可以避免上述问题。句柄…

传奇简单网站模板wordpress设置页面403权限

数字化转型已不再是企业追求效益最大化的手段&#xff0c;而是成为经济发展变革、提升国家数字竞争的核心动力。在此背景下&#xff0c;博睿数据继续发力&#xff0c;隆重推出「数字化运维转型平台」&#xff0c;汇聚了我们对数字化转型的深刻洞见与实践经验&#xff0c;以期为…

做网站怎么加背景图片运营工资一般多少

《VFP参考资料word版》下载地址&#xff1a; 网盘下载 转载于:https://www.cnblogs.com/long12365/p/9731452.html

沧州网站设计多少钱专业网站建设电话

Java中的类加载器&#xff08;ClassLoader&#xff09;是Java运行时环境&#xff08;JRE&#xff09;的一部分&#xff0c;负责在运行时动态地加载Java类到Java虚拟机&#xff08;JVM&#xff09;中。Java的类加载机制是Java核心的一部分&#xff0c;它提供了高度的灵活性和可扩…

网站备案注意安卓市场app下载安装

Spring MVC&#xff08;Model-View-Controller&#xff09;是一种基于Java的实现了MVC设计模式的轻量级Web框架。它通过一套注解&#xff0c;可以快速地搭建一个可扩展、易维护的Web应用程序。下面是Spring MVC处理请求的基本流程&#xff1a; 用户发起请求&#xff1a;用户通过…