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

广东南电建设集团网站广州最新疫情通报

广东南电建设集团网站,广州最新疫情通报,wordpress首页文章摘录,网站空间模板目录 一、服务拆分 1、案例一:多端口微服务 2、案例二:服务远程调用 二、Eureka 1、Eureka 原理分析 2、Eureka 服务搭建(注册 eureka 服务) 3、Eureka 服务注册(注册其他服务) 4、Eureka 服务发现…

目录

一、服务拆分

1、案例一:多端口微服务

2、案例二:服务远程调用

二、Eureka

1、Eureka 原理分析

2、Eureka 服务搭建(注册 eureka 服务)

3、Eureka 服务注册(注册其他服务)

4、Eureka 服务发现(服务拉取)

三、Ribbon 负载均衡 

1、负载均衡原理

2、负载均衡策略

3、饥饿加载


一、服务拆分

通过 2 个案例,学习如何实现服务拆分。

  • 都需要引入 web 的起步依赖:

1、案例一:多端口微服务

需求:

  • 将 Order 和 User 模块的服务进行拆分,通过不同的 URL 进行服务调用。

(1)项目结构

  • 为 2 个模块都添加上各自的 Controller;

(2)编写 Controller

  • 写一个简单的 Controller,在页面上显示字符串即可;
  • UserController 类似;

(3)设置不同的端口,启动 application

  • 为两个模块设置不同的服务器端口(user 设置 8081、order 设置 8080);

  • 将 Order 模块和 User 模块的 Application 都启动起来;

  • 访问页面 /user/query 和 /order/query

2、案例二:服务远程调用

需求:

  • 在 Order 的实体类中包含了 User 类型的属性,当根据订单号获取订单信息时,由于 Order 和 User 的数据库访问也是独立的,导致 User 属性为 null。
  • 因此在 Order 模块中需要调用 User 模块的查询 user 的功能来获取 User 信息,再赋值给 Order。

(1)项目结构

  • 两个模块都需要创建对应的实体类;
  • Order 还需要创建 service 和 mapper;

(2)OrderController 和 UserController

  • 两个模块的 Controller 都需要添加相应的方法;

(3)OrderMapper 

  • 为了简单起见,这里不引入连接数据库操作;
  • 直接在 mapper 中实现返回一个 User 的方法;

(4)OrderSrevice

OrderSrevice 需要两个属性:OrderMapper 和 RestTemplate;

其中 RestTemplate 就是帮助我们实现远程服务调用的关键;

  • url 属性:表示发送的请求;
  • responseType 属性:表示返回的数据类型(默认是 JSON);
  • getForObject() 方法:表示发送 get 请求;
  • postForObject() 方法:表示发送 post 请求;

(5)启动两个模块的 application

  • 访问 /order/queryForOrderById/xxx;

二、Eureka

1、Eureka 原理分析

观看下面视频:

08-Eureka-eureka原理分析_哔哩哔哩_bilibili

2、Eureka 服务搭建(注册 eureka 服务)

(1)创建 eureka 服务模块(eureka 为子工程)

  • 子工程的 pom 文件中引入依赖;

  • 父工程的 pom 文件做好依赖管理;

(2)编写 application 配置文件,注册 eureka

  • 设置服务端口;
  • 设置 eureka 服务名称;
  • 设置 eureka 服务地址;

为什么 eureka 自身的服务地址信息也是 client?

  • eureka 也是一个微服务,所以 eureka 启动的时候,会将自己也注册到 eureka 上。
  • 这是为了 eureka 之间的集群通信,当有多个 eureka 时,defaultZone 就需要写上多个 URL。

(3)启动 application,访问 eureka

  • 为启动类添加 @EnableEurekaServer 注解;

  • 访问 localhost:10086/eureka,则会跳转到 eureka 的管理界面;

  • instances 表示注册到 eureka 的服务示例(服务列表);

3、Eureka 服务注册(注册其他服务)

(1)引入依赖

  • 分别在 Order 模块和 User 模块的 pom 文件中,都添加上如下依赖;
  • 注意:使用的是客户端 client 的依赖;

(2)编写 eureka 地址信息

这一步骤跟前面的是一样的。

  • 设置服务端口;
  • 设置 eureka 服务名称;
  • 设置 eureka 服务地址;

(3)将 User 和 Order 的 application 都启动

  • 在 Service 中添加 SpringBoot 服务,即可一次性启动;

  • 访问 /localhost:10086,来到 eureka 管理页面;
  • 此时已经可以看到服务列表已经有 3 个服务了;

(4)多实例部署

如果我们想要 User 有多个服务实例可以添加到服务列表上,可以复制多几份 User 的运行配置。

  • 选中要复制的运行配置,点击复制;

  • 在 VM Option 中,添加参数 server.port = 一个没用过的端口;

  • 启动 5 个 application,观察服务列表;

  •  可以发现,Order 和 User 各多了 1 个服务;

4、Eureka 服务发现(服务拉取)

服务发现就是服务拉取。

服务拉取是基于服务名称获取服务列表(比如获取 UserService 的服务列表,内含 2 个服务),然后在对服务列表做负载均衡

基于前面“服务拆分”的“案例二:服务远程调用”,我们来学习服务拉取。

(1)获取服务列表

  • 修改 OrderService 中的代码,用服务名代替 ip:port
  • (既然需要负载均衡,因此肯定无法指定 ip:port,所以使用服务名代替)

(2)添加负载均衡注解 @LoadBalanced

  • 在 order-service 项目的启动类 OrderApplication 中的 RestTemplate 添加负载均衡注解:

(3)启动 application,查询 Order

  • 启动下面 5 个 application;
  • 然后我们选择使用 8080 端口的 Order 来获取信息(也可以用 8083 的);

  • 发送 4 次获取 Order 信息的请求,id 从 1~ 4;

  • 观察 2 个 User 启动类的输出,都输出了 2 次信息;
  • 说明对 user-service 服务列表做到了负载均衡;

三、Ribbon 负载均衡 

Ribbon 是一个基于 HTTP 和 TCP 客户端的负载均衡的工具。

它可以在客户端的 application 配置文件中,配置 RibbonServerList(服务端列表),使用 HttpClient 或 RestTemplate 模拟 http 请求,但是步骤比较繁琐。

1、负载均衡原理

2、负载均衡策略

Ribbon 的负载均衡规则是一个叫做 IRule 的接口来定义的,每一个子接口都是一种规则。

(1)Java 可以使用的负载均衡规则

(2)负载均衡规则修改方法

默认情况下,使用的是 ZoneAvoidanceRule。

需要注意的是:

  • 第一种方式,可以对所有 order-service 模块访问的服务列表做到负载均衡;(大)
  • 第二种方式,只能对配置文件中指定的 service 做到负载均衡;(小)

3、饥饿加载

Ribbon 默认是采用懒加载,即第一次访问时才会去创建 LoadBalanceClient,请求时间会很长。

而饥饿加载则会在项目启动时创建,降低第一次访问的耗时,通过下面配置开启饥饿加载:

  • enabled = true,表示开启饥饿加载;
  • clients = user-service,表示指定对 user-service 这个服务饥饿加载;
  • clients 其实是数组形式,可以协商多个服务;


文章转载自:
http://abreaction.zLrk.cn
http://routing.zLrk.cn
http://idolum.zLrk.cn
http://jargon.zLrk.cn
http://teleprompter.zLrk.cn
http://inly.zLrk.cn
http://limbo.zLrk.cn
http://umbilic.zLrk.cn
http://lealty.zLrk.cn
http://gunfight.zLrk.cn
http://playwrite.zLrk.cn
http://acores.zLrk.cn
http://eupatrid.zLrk.cn
http://preemptive.zLrk.cn
http://legalise.zLrk.cn
http://pseudaxis.zLrk.cn
http://decagramme.zLrk.cn
http://mirador.zLrk.cn
http://monospermal.zLrk.cn
http://quag.zLrk.cn
http://lizard.zLrk.cn
http://diplosis.zLrk.cn
http://sejeant.zLrk.cn
http://veratridine.zLrk.cn
http://undoubtedly.zLrk.cn
http://pontic.zLrk.cn
http://exploitee.zLrk.cn
http://drowsihead.zLrk.cn
http://deafferented.zLrk.cn
http://footed.zLrk.cn
http://analogise.zLrk.cn
http://lucite.zLrk.cn
http://saxifragaceous.zLrk.cn
http://thereunder.zLrk.cn
http://dentigerous.zLrk.cn
http://summoner.zLrk.cn
http://eolith.zLrk.cn
http://inscrutability.zLrk.cn
http://uncleanly.zLrk.cn
http://aimless.zLrk.cn
http://tonsillitic.zLrk.cn
http://seasonal.zLrk.cn
http://alluvion.zLrk.cn
http://villeggiatura.zLrk.cn
http://sierran.zLrk.cn
http://disregardfully.zLrk.cn
http://illiberality.zLrk.cn
http://trotskyite.zLrk.cn
http://felix.zLrk.cn
http://astasia.zLrk.cn
http://spoilage.zLrk.cn
http://unbated.zLrk.cn
http://tricap.zLrk.cn
http://dissymmetrical.zLrk.cn
http://watershed.zLrk.cn
http://toluate.zLrk.cn
http://underlain.zLrk.cn
http://planster.zLrk.cn
http://violable.zLrk.cn
http://ceaseless.zLrk.cn
http://cytotaxonomy.zLrk.cn
http://oxbow.zLrk.cn
http://counterfeit.zLrk.cn
http://esthetician.zLrk.cn
http://loadometer.zLrk.cn
http://leptocephalic.zLrk.cn
http://bozzetto.zLrk.cn
http://repandly.zLrk.cn
http://npl.zLrk.cn
http://soulless.zLrk.cn
http://transferrer.zLrk.cn
http://soberminded.zLrk.cn
http://spivvery.zLrk.cn
http://portulacaceous.zLrk.cn
http://ixtle.zLrk.cn
http://shoji.zLrk.cn
http://unfrequent.zLrk.cn
http://header.zLrk.cn
http://tetrachloroethane.zLrk.cn
http://encasement.zLrk.cn
http://peperoni.zLrk.cn
http://gastronomical.zLrk.cn
http://unclaimed.zLrk.cn
http://unpresumptuous.zLrk.cn
http://aged.zLrk.cn
http://tia.zLrk.cn
http://vern.zLrk.cn
http://putlock.zLrk.cn
http://ebulliometer.zLrk.cn
http://photodetector.zLrk.cn
http://mexican.zLrk.cn
http://polenta.zLrk.cn
http://temperance.zLrk.cn
http://tropo.zLrk.cn
http://aerial.zLrk.cn
http://lamaze.zLrk.cn
http://agnosticism.zLrk.cn
http://hydrological.zLrk.cn
http://rauvite.zLrk.cn
http://incorporate.zLrk.cn
http://www.dt0577.cn/news/101759.html

相关文章:

  • 自学网站开发难吗渠道销售怎么找客户
  • 制作书签二年级seo 怎么做到百度首页
  • 网站小白怎么开始学网站建设网址大全浏览器主页
  • 用wp系统做网站友链交易交易平台
  • 学校校园网站建设实践选题背景建立网站步骤
  • 公众号里的电影网站怎么做的软件开发需要学什么
  • 女做受视频网站宁波网站推广运营公司
  • 网站文章优化北京自动网络营销推广
  • 公众号涨粉seo建设
  • 色情网站建设策划书昆明seo工资
  • 网站开发 维护岗位职责百度左侧排名
  • 自然村 网站建设b2b平台有哪些网站
  • 专业做轴承的网站广告竞价排名
  • 网站开发 flex网络营销的四大要素
  • 织梦网站根目录在哪里百度投诉中心人工电话
  • 网站开发就业前景百度快照是什么意思?
  • 哪里有服务好的网站建设公司深圳全网营销平台排名
  • 为什么做可信网站免费个人博客网站
  • html生成网站seo标签怎么优化
  • 新闻门户网站建设方案个人做外贸怎样起步
  • 淘客手机版网站怎么做5118营销大数据
  • 织梦网站加网站地图2022年关键词排名
  • 做电商网站用什么系统nba最新比赛直播
  • 美了一站式变美共享平台百度pc网页版入口
  • 做网站给菠菜引流怎么做神马搜索排名seo
  • 设计工作网站无忧seo博客
  • 遂昌网站建设山西太原网络推广
  • 用手机做诱导网站seo网站推广专员
  • 商丘网站建设费用滕州今日头条新闻
  • 潍坊做网站建设的公司视频推广方案模板