栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud简介9-28

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud简介9-28

一、单体架构的优缺点 1.优点
  • 1.开发人员需求少,一个开发师即可完成
  • 2.部署简单
  • 3.技术单一
2.缺点
  • 1.启动效率低,全部资源在一个单体项目
  • 2.隔离性差
  • 3.可伸缩性差
  • 4.跨语言程度差
二、微服务优势 1.优点
  • 1.易于开发和维护
  • 2.单个服务启动较快
  • 3.局部修改容易部署
  • 4.伸缩性强
  • 5.技术栈不受限
2.挑战
  • 1.运维成本变大
  • 2.带来的分布式系列问题
3.解决

使用SpringCloud,提供了完美的解决方案,是一系列框架组成的集合体,封装了许多组件,解决微服务带来的一些分布式问题

三、服务的注册与发现 1.硬编码暴露端口 弊端:
  • 维护难度大,IP变化必须修改代码
  • 如果服务端有集群,客户端自己实现负载均衡
  • 客户端无法动态感知服务的上线与下线(服务端集群的服务器数量变化)
2.注册中心
  • 服务注册(服务提供者),将元数据信息(metadata)加入到map(key:服务名,value:端口)集合中,放到注册中心
  • 服务发现(服务消费者),从** 注册中心中根据服务名称,返回服务的实例列表,使用ribbon**实现负载均衡
四、Nacos简介 名字服务和注册服务 五、Nacos入门案例 1.首先需要导入依赖
  • 端点监控的依赖
  • 注册中心的依赖
2.配置yml文件
spring:
 cloud:
  nacos:
   discovery:
    username:nacos
    password:nacos
    server-addr:localhost:8848 #指定nacos地址端口
    namespace:dev #指定命名空间
    group:dev-group #指定分组
 application:
  name:goods #指定应用名(就是注册中心的名称)
server:
 port:9001 #指定进程启动端口号


集群配置

代码中获取端口号
@Value("${port}")
private String PORT;
3. 服务分为提供者和消费者 1)提供者按照正常的controller写,启动类需要加上@EnableDiscoveryClient 2)消费者需要加上@EnableDiscoveryClient 六、Ribbon(蝴蝶结),客户端负载均衡器(存放在客户端)

nginx就是服务端负载均衡器

1.使用

在Template实体类上加上@LoadBalence注解

2.实现原理 注册中心双层map集合
  • 外层:key:命名空间,value:内层map
  • 内层:key:组+服务名,value:实例服务地址
1.拦截所有请求
  • 拦截所有http请求
  • 获取请求地址,解析出servicename
  • 根据servicename获取实例列表,先在本地缓存获取,
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/276675.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号