![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务
文章平均质量分 78
心怀敬意
天接云涛连晓雾
展开
-
14 JWT和Spring security Oauth2
JWT和SPRING SECURITY OAUTH2JWT简介JSON Web Token:是一种开放标准(RFC 7519),定义了一种紧凑且自包含的标准,该标准旨在将各个主体的信息包装为JSON对象。主题信息是通过数字签名进行加密和验证的。常使用HMAC算法或RSA(公钥/私钥的非对称加密)算法对JWT进行签名JWT特点紧凑型:JWT使用加密后的字符串,数据体积非常小,传输速度快; 自包含:JWT包含了主体的所有信息,避免每个请求都需要向认证服务器验证身份,降低服务器的负载。JWT结原创 2021-03-22 23:03:19 · 95 阅读 · 0 评论 -
13 spring security和oauth2学习
Spring Security简介Spring Security是Spring Resource社区的一个安全组件,为系统提供安全的防护。Spring Security通过注解为每一层(controller、service、dao)都提供安全保护。Spring Security的主要目标是认证和授权,认证即认证主体的过程,通常指可以在应用程序中执行操作的用户、设备或其他系统。授权即决定是否允许已认证的主体执行某一项操作。这部分不做说明。(大佬的书中给了一个生动形象的例子,买本书看..原创 2021-03-14 16:46:01 · 312 阅读 · 0 评论 -
12 Spring Boot Admin 学习
微服务监控Spring Boot AdminSpring Boot Admin用于管理和监控一个或多个Spring Boot程序服务引入依赖添加注解和配置说明:并没有需要特别说明的地方,如果对开放访问的节点有疑问的地方,https://github.com/codecentric/spring-boot-admin/ 了解更多本地访问http://localhost:5000/进入其中一个服务,可以看到详细的监控信息...原创 2021-02-27 20:13:46 · 66 阅读 · 0 评论 -
11 Spring Cloud Sleuth学习
Spring Cloud Sleuth介绍Spring Cloud Sleuth是Spring Cloud 的一个组件,主要功能是在分布式系统中提供服务链路追踪的解决方案。微服务架构是一个分布式架构,微服务系统按业务划分服务单元,一个微服务系统往往有多个服务单元,一个请求往往需要调用多个服务才能完成,如果在服务调用的过程中出现了错误,定位问题就变的异常艰难,因为每一个服务都有很多请求,即使在当前服务中找到了异常的内容,但是前置信息却没那没容易找到,这时候就需要链路追踪了。链路追踪..原创 2021-02-27 18:29:36 · 176 阅读 · 1 评论 -
10 spring cloud config 学习
配置中心Spring Cloud Config在微服务系统中每个服务的配置都不一样,如果将配置文件与服务绑定的话,管理起来会非常的繁琐,而且容易出错,所以需要配置中来协调工作;配置中心的作用是从配置仓库中获取配置文件的信息,然后将这些信息提供给各个服务。配置中心读取本地配置文件引入jar包依赖 <dependency> <groupId>org.springframework.cloud</groupId> ...原创 2021-02-21 19:49:53 · 73 阅读 · 0 评论 -
09 zuul学习
路由网关Spring Cloud ZuulZuul的作用结合Ribbon和Eureka实现智能路由和负载均衡功能,Zuul能够将请求流量按某种策略分发到集群状态的多个服务实例; 聚合服务的API接口,统一对外暴露服务; 网关服务可以作为用户认证和权限认证中心,对服务器起到保护作用; 实现监控功能,实时日志输出,对请求进行记录; 对流量进行监控,在高流量的情况下,对服务进行降级; 将API接口从内部服务分离,方便测试。Zuul的工作原理zuul通过自定义的ZuulServlet对.原创 2021-02-21 16:45:35 · 90 阅读 · 0 评论 -
08 Hystrix学习
Hystrix解决的问题在复杂的分布式系统中,存在多个服务相互依赖的情况,如果某个服务因为某些原因不可用,例如机房的不可靠性、网络服务商的不可靠性等,系统对外界提供的整个功能都将不可用。在高并发的情况下,单个服务的延迟会导致整个请求都处于延迟状态,可能在几秒内就使得整个服务处于线程负载饱和的状态;雪崩效应:某个服务的单点故障,导致用户的请求处于阻塞状态,最终结果是整个服务的线程资源消耗殆尽。由于服务的依赖性,会导致依赖于该故障服务的其他服务也处于线程阻塞状态,最终导致这些服务的线程资..原创 2021-02-20 23:26:04 · 984 阅读 · 5 评论 -
07Feign学习
Feign是一个伪Java Http客户端,Feign不做任何的请求处理。Feign通过处理注解生成Request模板,简化Http API开发。Feign源码学习第一步服务启动时获取注解@FeignClient的类的信息FeignClientsRegistrar实例化时,调用registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry)...原创 2021-02-16 23:58:58 · 154 阅读 · 0 评论 -
06Ribbon学习
负载均衡:将负载分摊到多个执行单元上,常见的负载均衡方式有两种。第一种是独立进程单元,通过负载均衡策略,将请求转发到不同的执行单元上;第二种是将负载均衡逻辑以代码的形式封装到服务消费者的客户端上,服务消费者客户端维护一份服务提供者的信息列表,消费者通过负载均衡策略将请求分摊到多个服务提供者,以达到负载均衡的目的。源码解析Ribbon第一部分获取提供者服务信息,通过ILoadBalancer获取服务提供者信息LoadBalancerClient.. choose(ServiceId).原创 2021-02-10 19:19:42 · 97 阅读 · 0 评论 -
05Eureka学习
Eureka的一些概念Register-服务注册当Eureka Client向Eureka Server注册的时候,client会向server提供自身的元数据信息,如:IP地址、端口、运行状况Renew-服务续约client每个30秒向server发送信息告知server服务正常,如果在90秒内,server没有收到client的消息,server默认client已下线,将client实例从服务列表中删除Fetch Registries-获取服务注册列表信息client向serve原创 2021-02-06 19:09:14 · 94 阅读 · 0 评论 -
04spring boot学习
Spring Boot使用Spring Boot的作用:简化配置,敏捷开发;主要特点:自动配置,起步依赖、Actuator对运行状态监控简单内容不作介绍,主要介绍Actuator健康检测https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html添加依赖 <dependency> <groupId>org....原创 2021-01-23 20:06:46 · 51 阅读 · 0 评论 -
03构建准备
MavenApache Maven是一款非常流行的项目管理工具,基于工程对象模型(Pom)概念设计工具不做过多介绍,百度下载安装对Pom中比较重要的标签进行说明:project标签:文件的根元素,声明pom相关的命名空间,modelVersion指定版本groupId标签:代表公司或组织名称,一般为公司域名倒写artifactId标签:项目的全局唯一IDparent标签:指定父pomproperties标签:声明一些常量dependencies标签:声明依赖..原创 2021-01-23 16:56:02 · 55 阅读 · 0 评论 -
02微服务介绍2
微服务的特点与功能特点按照业务划分服务,单个服务代码量少,业务单一,方便维护 每个服务都有自己的独立组件 服务之间通过HTTP协议或消息组件MQ通信,都具有容错能力,HTTP的熔断,MQ的死信 有服务治理方案,服务之间不耦合,可以方便地加入和剔除服务 单个服务可以集群化,并且具有负载均衡的能力 整个微服务系统具有完整的安全机制,包括用户验证,权限验证,资源保护 具有服务调用链路追踪能力 具有实时的日志系统功能服务的注册与发现 服务的负载均衡 服务的容错 服务的网关 .原创 2021-01-23 16:08:15 · 137 阅读 · 0 评论 -
读书笔记-深入理解springcloud与微服务构建
前言:随着互联网的普及,互联网用户的爆发式增加,业务场景越来越复杂,云计算、大数据、人工智能等新兴技术的飞速发展,单体架构已经很难满足发展需要。主要体现在两个方面:一是随着业务复杂度的提高,代码的可维护性、可拓展性和可读性在降低;二是维护系统的成本和修改系统的成本在提高。单体架构及其不足常用的单体架构单体架构常用的模型是三层模型,即表示层、业务逻辑层和数据访问层。表示层:直接与用户交互,通常是网页或UI;业务逻辑层:用户的业务数据处理;数据访问层:与数据库进行用户数据传输。.原创 2021-01-17 19:31:53 · 157 阅读 · 0 评论