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

中国建设银行客户端下载官方网站让顾客心动的句子

中国建设银行客户端下载官方网站,让顾客心动的句子,工程建设交易信息网,wordpress 拼图JavaWeb_SpringCloud微服务_Day1-eureka, ribbon, nacos 认识微服务微服务技术对比 分布式服务架构案例远程调用 eureka注册中心原理搭建EurekaServer服务注册服务发现 Ribbon负载均衡修改负载均衡饥饿加载 nacos注册中心快速入门eureka和nacos对比 来源 认识微服务 微服务技术…

JavaWeb_SpringCloud微服务_Day1-eureka, ribbon, nacos

  • 认识微服务
    • 微服务技术对比
  • 分布式服务架构案例
    • 远程调用
  • eureka注册中心
    • 原理
    • 搭建EurekaServer
    • 服务注册
    • 服务发现
  • Ribbon负载均衡
    • 修改负载均衡
    • 饥饿加载
  • nacos注册中心
    • 快速入门
    • eureka和nacos对比
  • 来源

认识微服务

微服务技术对比

DubboSpringCloudSpringCloudAlibaba
注册中心zookeeper, RedisEureka, ConsulNacos, Eureka
服务远程调用Dubbo协议Feign(http协议)Dubbo, Feign
配置中心SpringCloudConfigSpringCloudConfig, Nacos
服务网关SpringCloudGateway, ZuulSpringCloudGateway, Zuul
服务监控和保护dubbo-admin, 功能弱HystrixSentinel

分布式服务架构案例

远程调用

  1. 注册RestTemplate
    /*** 创建RestTemplate并注入Spring容器* @return*/
    @Bean
    public RestTemplate restTemplate(){return new RestTemplate();
    }
    
  2. 服务远程调用RestTemplate
    @Autowired
    private RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order = orderMapper.findById(orderId);// 2. 利用RestTemplate发起http请求, 查询用户// 2.1 url路径String url = "http://localhost:8081/user/"+order.getUserId();// 2.2 发送http请求, 实现远程调用User user = restTemplate.getForObject(url, User.class);// 3 封装user到orderorder.setUser(user);// 4.返回return order;
    }
    

eureka注册中心

原理

在Eureka架构中, 微服务角色有两类:

  • EurekaServer: 服务端, 注册中心
    • 记录服务信息
    • 心跳监控
  • EurekaClient: 客户端
    • Provider: 服务提供者
      • 注册自己的信息到EurekaServer
      • 每隔30秒向EurekaServer发送心跳
    • Consumer: 服务消费者
      • 根据服务名称从EurekaServer拉取服务列表
      • 基于服务列表做负载均衡, 选中一个微服务后发起远程调用

搭建EurekaServer

  1. 引入eureka-server依赖
    <!-- eureka服务端 -->
    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    
  2. 添加@EnableEurekaServer注解
    @EnableEurekaServer
    @SpringBootApplication
    public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}
    }
    
  3. 在application.yml中配置eureka地址
    server:port: 10086
    spring:application:name: eurekaserver
    eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka/
    

服务注册

  1. 引入eureka-client依赖
    <!-- eureka客户端 -->
    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    
  2. 在application.yml中配置eureka地址
  3. 启动多个实例: 右键服务copy configuration, 在启动项vm option中修改端口号

服务发现

  1. 给RestTemplate添加@LoadBalanced注解, 负载均衡
    @LoadBalanced
    public RestTemplate restTemplate(){return new RestTemplate();
    }
    
  2. 用服务提供者的服务名称远程调用
    // String url = "http://localhost:8081/user/"+order.getUserId();
    String url = "http://userserver/user/"+order.getUserId();
    

Ribbon负载均衡

修改负载均衡

  1. 代码方式 (全体)
    /*** 更换负载均衡策略为随机* @return*/
    @Bean
    public IRule randomRule()
    {return new RandomRule();
    }
    ```erer
    
  2. 配置文件方式 (只针对某个微服务)
    userserver: # 给某个微服务配置负载均衡规则,这里是userserver服务ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则 
    

饥饿加载

  • Ribbon默认是采用懒加载, 即第一次访问时才会创建LoadBalanceClient, 请求时间很长.
  • 饥饿加载在项目启动时创建, 降低第一次访问的耗时
    ribbon:eager-load: # 饥饿加载enabled: trueclients: userserver # 指定服务
    

nacos注册中心

快速入门

  1. 父工程添加spring-cloud-alibaba管理依赖
    <!-- nacos的管理依赖 -->
    <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.5.RELEASE</version><type>pom</type><scope>import</scope>
    </dependency>
    
  2. nacos客户端依赖
    <!-- nacos客户端依赖 -->
    <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    
  3. 配置文件
    spring:cloud:nacos:server-addr: localhost:8848 # nacos服务地址
    
  4. 集群配置
    spring:cloud:nacos:server-addr: localhost:8848 # nacos服务地址discovery:cluster-name: SH # 集群地址
    
  5. NacosRule负载均衡策略
    userserver: # 给某个微服务配置负载均衡规则,这里是userservice服务ribbon:# NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则
    
    • 优先选择同集群服务实例列表
    • 本地集群找不到提供者, 才去其他集群寻找, 并且会报警告
    • 确定了可用实例列表后, 再采用随机负载均衡挑选实例
  6. 命名空间
    spring:cloud:nacos:discovery:namespace: xxx # 命令空间
    
    • namespace用来做环境隔离
    • 每个namespace都有唯一id
    • 不同namespace下的服务不可见

eureka和nacos对比

  1. nacos非临时实例
    spring:cloud:nacos:discovery:ephemeral: false # 设置为非临时实例
    
  2. nacos与eureka的共同点
    • 都支持服务注册和服务拉取
    • 都支持服务提供者心跳方式做健康检测
  3. nacos与eureka的区别
    • nacos支持服务端主动检测提供者状态: 临时实例采用心跳模式, 非临时实例采用主动检测模式
    • 临时实例心跳不正常会被剔除, 非临时实例则不会被剔除
    • nacos支持服务列表变更的消息推送模式, 服务列表更新更及时
    • nacos集群默认采用ap方式(强调数据的可用性), 当集群中存在非临时实例时, 采用cp模式(强调数据的可靠性和一致性); eureka采用ap方式

来源

黑马程序员. SpringCloud微服务

http://www.mnyf.cn/news/39481.html

相关文章:

  • 站长统计入口南宁市优化网站公司
  • 网站服务器中如何做重定向百度指数搜索榜度指数
  • 专业做酒类营销的网站百度手机助手app下载并安装
  • 政府网站外文版建设网站收录优化
  • 高端网站建设需要多少钱如何制作企业网站
  • 网站建设哪家好nuoweb网络推广的手段
  • 网络工作室名字创意好听seo优化顾问
  • 如何做公司宣传网站网络营销策划书应该怎么写
  • 网站建设规划书实训报告注册推广赚钱一个80元
  • 数据查询网站建设深圳百度首页优化
  • 黑山网站制作公司seo zac
  • 移动互联网网站建设百度移动端模拟点击排名
  • 淮北论坛房产汕头seo优化培训
  • 网站建设背景怎么写淘宝seo搜索引擎优化
  • 专业做网站建设公司2023年又封城了
  • 做网站需要许可证吗网站在线优化检测
  • 免费制作二级网站网络运营课程培训班
  • 网站开发硬件要求生意参谋官网
  • 新网站没有死链接怎么做市场营销策略包括哪些策略
  • 注册了网站怎么建设网站页面设计模板
  • 房产备案查询西安网站seo技术厂家
  • 建筑工程公司组织架构图网站seo技术
  • 十度网站建设天津seo推广软件
  • 网站编辑做多久可以升职职业技术培训机构
  • 站长之家seo工具自己手机怎么免费做网站
  • 年轻人常用网站买淘宝店铺多少钱一个
  • 自做网站图片版权深圳网络推广收费标准
  • 杭州网站建设找思创自己做一个网站
  • 石景山网站制作保定网站制作
  • 郑州做网站建设公司哪家好推广文章的步骤