第四节阶段--微服务
文章平均质量分 75
大帅B666
这个作者很懒,什么都没留下…
展开
-
常见设计模式
1.桥接模式数据库驱动,DriverJDBC=>Driver=>数据库2.门面模式使用slf4j注解,进行日志输出3.享元模式共享池,共用一个对象,比如数据库默认使用的的连接池,HikariDataSource,底层双重校验4.单例模式Bean组件管理的对象默认就是单例的,对象只有一份,具体实现又分为饿汉式,使用该类就加载对象,懒汉式,创建对象时才加载对象5.代理模式Feign修饰的接口,底层为该结构创建底层实现类代理对象6.中介者模式nacos注原创 2022-03-08 12:44:30 · 479 阅读 · 0 评论 -
8.Gateway应用进阶实践
核心知识点API Gateway基于Sentinel实现服务限流(API,路由id)第一步:导入Sentinel依赖,网关限流还需导入特定的依赖<!--添加网关层面限流依赖,使用Sentinel--><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artif转载 2022-03-04 22:16:21 · 335 阅读 · 0 评论 -
7.API网关(gateway)入门实践
核心知识点API网关诞生背景服务太多,需要对请求入口进行统一管理市场主流微服务网关spring cloud gateway,一代网关zuul...基于API Gateway实现服务的保护和转发保护是指基于GatewayFilter的实现类来进行对请求路径的删除(StripPrefixGatewayFilterFactory)来进行保护,此接口的实现类还有很多,都可以对请求的路径进行修改基于API Gateway层面负载均衡的实现首先要将gateway注册到nacos.转载 2022-03-03 21:36:28 · 708 阅读 · 0 评论 -
Java常用算法
Sentinel是怎么缓存最近的热点数据的?(LRU)通过LRU算法,类似于链表结构,当缓存被放满时,会将排名最后缓存资源清除,当我们访问资源时,该资源会自动刷新到最上面sha1算法hash算法原创 2022-03-02 15:37:28 · 291 阅读 · 0 评论 -
6.Sentinel应用实践2
核心知识点Sentinel降级概念当访问量过大,大量的线程堆积会造成服务器宕机,我们可以通过降级来熔断这个请求来保证服务的稳定性,还在这里的熔断属于主动熔断请求的底层实现原理第一步:从Tomcat的线程池获取一个线程第二步:通过I/O对象读取请求第三步:处理http请求()第四步:创建请求对象(request),响应对象(response),解析请求第五步:过滤器对请求进行过滤第六步:servlet处理请求(拦截器/controller..)第七步:返回响应对象转载 2022-03-02 14:57:28 · 583 阅读 · 0 评论 -
5.Sentinel限流应用实践
核心知识点服务限流背景在面对突发大量访问,或者恶意访问时,为了防止服务器宕机,提高服务器的稳定性,一般采用三大手段进行流量的控制,限流,熔断,降级,于是出现了一些流量控制软件,Sentinel就诞生了Sentinel限流入门实践第一步:下载Sentinel的Jar包,注意版本,和Nacos版本兼容性要匹配https://github.com/alibaba/Sentinel/releases第二步:在jar包的根目录打开cmd,运行以下命令java -Dserver.por转载 2022-03-01 21:53:42 · 476 阅读 · 0 评论 -
3.服务器负载均衡的实现
核心知识点1.@LoadBalanced当RestTemplante进行远程服务调用时,假如需要负载均衡,我们可以使用@LoadBalanced注解,该注解作用是在RestTemplante对象进行远程服务调用时,底层自动使用拦截器,根据服务名调用服务实例,从一个服务实例中拿到ip和端口,把接收到的url进行重构,拦截器底层用的就是LoadBalancrClient机制,然后根据重构后的url进行服务的调用注意:此方式虽然代码简单了,因为多了一个拦截器对象,性能会降低一点@LoadBalan转载 2022-02-25 21:56:39 · 796 阅读 · 0 评论 -
Spring Cloud 常用注解
1.@LoadBalanced通常用来描述RestTemplate对象,作用是当我们使用RestTemplate对象调用服务时,系统底层会对服务进行拦截,拦截到url后,会基于url的服务名获取具体的服务实例,然后基于服务实例重构url,再基于新的url进行服务调用2.@EnableFeignClients用于描述启动类或配置类,此时项目启动时,就会启动一个FeignSterter组件,这个组件会对项目中使用@FeignClient的类创建代理对象3.@FeignClient...原创 2022-02-25 14:53:43 · 10769 阅读 · 1 评论 -
2.Nacos注册中心入门
#核心知识点1.服务注册中心诞生背景服务太多,需要一个第三方来统一管理这些服务,类似很多公司到工商局备案2.服务注册中心的选型社区活跃度,稳定性,功能,性能,学习成本3.1)nacos下载:推荐使用1.4.2版本2)安装:解压最好不要在中文目录下3)配置:application.properies首先要在数据库创建nacos_config数据库在doc窗口进入mysql程序(指令:mysql -rroot -u),如果无法使用指令,说明path环境没有配置mysql启转载 2022-02-24 18:18:24 · 575 阅读 · 0 评论