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

苏州网站建设中心呼市网页制作培训

苏州网站建设中心,呼市网页制作培训,h5页面生成,移动网站自助制作SpringCloud之Eureka注册中心和负载均衡 微服务技术栈认识微服务单体架构分布式架构微服务 微服务拆分及远程调用微服务拆分注意事项 Eureka注册中心提供者与消费者原理分析服务调用出现的问题Eureka的作用 使用流程1、搭建EurekaServer2、注册user-service3、在order-service完… SpringCloud之Eureka注册中心和负载均衡 微服务技术栈认识微服务单体架构分布式架构微服务 微服务拆分及远程调用微服务拆分注意事项 Eureka注册中心提供者与消费者原理分析服务调用出现的问题Eureka的作用 使用流程1、搭建EurekaServer2、注册user-service3、在order-service完成服务拉取 Ribbon负载均衡负载均衡流程负载均衡策略饥饿加载 微服务技术栈 认识微服务 单体架构 简介将业务内的所有功能集中在一个项目中开发打成一个包部署。 优点 架构简单 部署成本低 缺点 耦合度高 分布式架构 简介根据业务功能对系统进行拆分每个业务模块作为独立项目开发称为一个服务。 优点 降低服务耦合有利于服务升级拓展 缺点 服务治理麻烦 微服务 简介是一种经过良好架构设计的分布式架构方案。 特征 单一职责微服务拆分粒度更小每个服务都对应唯一的业务能力做到单一职责避免重复业务开发面向服务微服务对外暴露业务接口自治团队独立技术独立数据独立部署独立隔离性强服务调用做好隔离、若错、降级、避免出现级联失败 微服务拆分及远程调用 微服务拆分注意事项 不同微服务不要重复开发相同业务微服务数据独立不要访问其它微服务的数据库微服务可以将自己的业务暴露为接口供其它微服务调用 当我们某一个服务需要获取到其他服务的数据库信息时我们就需要从当前服务向目标服务发送http请求调用对应的接口获取数据。 在配置类中将RestTemplate注入容器 Beanpublic RestTemplate restTemplate(){return new RestTemplate();}在对应服务功能下注入容器并发送http请求 Autowiredprivate RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order orderMapper.findById(orderId);// 2.利用restTemplate发送http请求查询用户String url http://localhost:8081/user/ order.getUserId();User user restTemplate.getForObject(url, User.class);// 3.封装成Order对象order.setUser(user);// 4.返回return order;}从结果可以看到成功拿到用户信息。 Eureka注册中心 提供者与消费者 服务提供者一次业务中被其它微服务调用的服务。提供接口给其它微服务服务消费者一次业务中调用其它微服务的服务。调用其它微服务提供的接口 原理分析 在服务调用的时候地址固定当项目环境发生变化时对项目很不友好。 服务调用出现的问题 服务消费者该如何获取服务提供者的地址信息如果有多个服务提供者消费者该如何选择消费者如何得知服务提供者的健康状态 Eureka的作用 消费者该如何获取服务提供者具体信息 ◆服务提供者启动时向eureka注册自己的信息 ◆eureka保存这些信息 ◆消费者根据服务名称向eureka拉取提供者信息 如果有多个服务提供者消费者该如何选择 ◆服务消费者利用负载均衡算法从服务列表中挑选一个 消费者如何感知服务提供者健康状态 ◆服务提供者会每隔30秒向EurekaServer发送心跳请求报告健康状态 ◆eureka会更新记录服务列表信息心跳不正常会被剔除 ◆消费者就可以拉取到最新的信息 使用流程 1、搭建EurekaServer 搭建EurekaServer服务步骤如下 1.创建项目引入spring-cloud-starter-netflix-eureka-server的依赖 dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-netflix-eureka-server/artifactId /dependency2.编写启动类添加EnableEurekaServer注解 3.添加application.yml文件编写下面的配置 server:port: 8082 spring:application:name: eureka-server #eureka自己也会被注册 eureka:client:service-url:defaultZone:http://localhost:8082/eureka/2、注册user-service 将user-service服务注册到EurekaServer:步骤如下 l.在user-service:项目引入spring-cloud-starter–netflix-eureka-client的依赖 dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency2.在application.yml文件编写下面的配置 spring:application:name: userservice eureka:client:service-url:#指的是注册中心服务的地址defaultZone: http://localhost:8082/eureka/拓展在idea启动单个项目的多个实例 在服务界面右键服务复制配置 2023版本的idea需要添加虚拟机选项以及打开允许多个实例 在虚拟机配置**-Dserver.port8083**端口选择一个未用的同时修改服务名称 在服务页面中启动项目 3、在order-service完成服务拉取 服务拉取是基于服务名称获取服务列表然后在对服务列表做负载均衡 1.修改OrderService的代码修改访问的url路径用服务名代替ip、端口 String url http://userservice/user/order.getUserId();2.在order-service.项目的启动类OrderApplication中的RestTemplate添加负载均衡注解 Bean LoadBalanced public RestTemplate restTemplate(){return new RestTemplate(); }负载均衡Load Balance意思是将负载工作任务访问请求进行平衡、分摊到多个操作单元服务器组件上进行执行。是解决高性能单点故障高可用扩展性水平伸缩的终极解决方案。 这种环境下当我们的order-server向user-server发送http请求时会平衡地向不同实例的user-server发送请求。 Ribbon负载均衡 负载均衡流程 负载均衡策略 Ribbon的负载均衡规则是一个叫做IRule的接口来定义的每一个子接口都是一种规则 内置负载均衡规则类规则描述RoundRobinRule简单轮询服务列表来选择服务器。它是Ribbon默认的负载均衡规则。AvailabilityFilteringRule对以下两种服务器进行忽略(1)在默认情况下这台服务器如果3次连接失败这台服务器就会被设置为“短路”状态。短路状态将持续30秒如果再次连接失败短路的持续时间就会几何级地增加。(2)并发数过高的服务器。如果一个服务器的并发连接数过高配置了AvailabilityFilteringRule规则的客户端也会将其忽略。并发连接数的上限可以由客户端的:.:.ActiveConnectionsLimit属性进行配置。WeightedResponseTimeRule为每一个服务器赋予一个权重值。服务器响应时间越长这个服务器的权重就越小。这个规则会随机选择ZoneAvoidanceRule服务器这个权重值会影响服务器的选择。以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询。BestAvailableRule忽略哪些短路的服务器并选择并发数较低的服务器。RandomRule随机选择一个可用的服务器。RetryRule重试机制的选择逻辑 IRule默认为轮询规则通过定义Rule实现可以修改负载均衡规则有两种方式 代码方式在order-service中的OrderApplication类中定义一个新的IRule: Bean public IRule randomRule(){ return new RandomRule(); }配置文件方式在order-.servicef的application,ym段件中 添加新的配置也可以修改规侧 user-service:ribbon:NFLoadBalancerRuleClassName:com.netflix.loadbalancer.RandomRule #负载均规则饥饿加载 Ribbon默认是采用懒加载即第一次访问时才会去创建LoadBalanceClient,请求时间会很长。 而饥饿加载则会在项目启动时创建降低第一次访问的耗时通过下面配置开启饥饿加载 ribbon:eager-load:enabled: true #开启饥饿加载clients: user-server #指定劢user-server这个服务饥饿加载
http://www.w-s-a.com/news/556095/

相关文章:

  • 百度站长怎么做网站维护中国深圳航空公司官网
  • xampp安装网站模板海南一家天涯社区
  • 网站建设 管理系统开发仿租号网站源码网站开发
  • 怎么自己弄网站免费网站设计用什么软件
  • 网站分几种access做网站数据方法
  • 网站默认图片s001网站建设公司
  • 淘宝的电子商务网站的建设东莞哪里有网站制作公司
  • 西安网站制作怎么联系wordpress登陆界面打开慢
  • 高端工作网站网站推广seo代理
  • 一般找素材都是做哪几个网站呢推广引流工具
  • 必须做网站等级保护html网页设计题库
  • 移动端网站开发 float手机在线建网站
  • 教育网站模板下载做汽车网站开题报告的意义
  • 网站首页做后台链接昌平网站制作
  • 营销型门户网站建设浏览器下载免费大全
  • 快三网站开发推广普通话手抄报内容50字
  • 沈阳专业做网站开发公司asp网站搭建教程
  • 网站建设代码福州小程序开发平台
  • 了解做房产广告的网站手机版官方网站的建设
  • 如何与别的网站做友情链接做网站排名大概要多少钱
  • 东莞市锂电池网站建设HTML5怎么做自适应网站
  • 江苏城乡建设学校网站群晖建立wordpress
  • wordpress导入网站模板seo自学网官网
  • 购物网站服务器带宽北京网站开发周期
  • 同性做视频网站网站怎么添加栏目
  • 新余网站设计seo自学网站
  • 新乡个人网站建设价格wordpress数据插件
  • 你是网站设计有限公司的项目经理网站推广的重要性
  • 网站定制开发怎么写泸州设计公司有哪些
  • 上海网站建设zj kt迅速编程做网站