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

宁波网站免费建设服务平台帮我们公司做网站

宁波网站免费建设服务平台,帮我们公司做网站,丁香人才网官方网站,wordpress链接版权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.dnsts.com.cn/news/262535.html

相关文章:

  • 做门户网站需要注册公司吗抖音代运营内容
  • 用天地图做网站南通城乡建设局网站
  • 做网站的图片素材网页设计一级页面
  • 郑州网站服务外包公司wordpress 图片分享主题
  • 自己有服务器怎么建设网站广州做网站市场
  • 足球哪个网站做的比较好免费创建网站平台
  • 旅游网站后台html模板个人免费简历模板
  • 网站建设研究意义营销广告
  • 你喜欢的公司网站网上做效果图网站
  • 1个人做几个网站的负责人佛山做企业网站的公司
  • 华阳路街道网站建设wordpress搜索不能用
  • 淘宝做网站推广网站建设项目考察范文
  • 建筑培训网站物联网小项目
  • 滁州市建设工程管理处网站深圳建一个网站多少钱
  • 设计比例网站h5响应式网站是什么意思
  • 廉溪区建设局网站建网站需要多少钱和什么条件才能建
  • 织梦网站模板教程网站设计与制作培训学校
  • 包装设计网站免费建设企业网站收费
  • 合肥网站建设公司代理长沙网站制
  • 成都网站开发的公司wordpress删除主题介绍
  • 企网站的互联网沈阳高端网站制作公司哪家好
  • 新建茶叶网站文章内容建设货车拆车件网上商城
  • 网站做好了该怎么做ui设计技术培训学校
  • 网站跳出率怎么计算中山市企业网站seo哪家好
  • 网站开发模板系统设计师网站设计
  • 模板建站什么意思如何做网络营销推广5
  • 哪个网站免费h5模板多云南凡科建站哪家好
  • 网站开发phpwin优化大师官网
  • 南通个人网站建设做网站设计电脑买什么高端本好
  • 网站 后台 数据 下载高端网站推荐