SpringCloud
codingTop
这个作者很懒,什么都没留下…
展开
-
Spring Cloud Bus 解决配置文件实时更新与git仓库同步
Spring Cloud Bus实现不重启服务的情况下,及时更新配置文件。在上一篇博文之后,测试,会发现,当我们修改配置文件的属性值时,项目中并不能及时更新如果想在不重启微服务的情况下更新配置该如何实现呢? 可以使用Spring Cloud Bus来实现配置的自动更新。需要注意的是Spring Cloud Bus底层是基于RabbitMQ实现的,默认使用本地的消息队列服务,所以需要提前启...原创 2020-04-07 10:50:20 · 462 阅读 · 0 评论 -
Spring Cloud Config配置文件分布式配置
Spring Cloud Config分布式配置 在分布式系统中,由于服务数量非常多,配置文件分散在不同的微服务项目中,管理不方便。为了方便配置文件集中管理,需要分布式配置中心组件。在Spring Cloud中,提供了Spring Cloud Confifig,它支持配置文件放在配置服务的本地,也支持放在远程Git仓库(GitHub、码云)。 配置中心本质上也是一个微服务,同样需要注册...原创 2020-04-07 10:48:39 · 230 阅读 · 0 评论 -
Spring Cloud Gateway初识及相关配置
Spring Cloud GatewaySpring Cloud Gateway是Spring官网基于Spring 5.0、 Spring Boot 2.0、Project Reactor等技术开发的网关服务。Spring Cloud Gateway基于Filter链提供网关基本功能:安全、监控/埋点、限流等。Spring Cloud Gateway为微服务架构提供简单、有效且统一的API...原创 2020-04-05 22:44:12 · 611 阅读 · 0 评论 -
SpringCloud之Feign相关配置
SpringCloud之Feign Feign也叫伪装:Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。(可以结合之前的写的初学SpringCloud中RestTemplate进行对比使用) Feign主要作用:自动根据参数拼接http请求地址。 官方网址:http...原创 2020-04-04 23:03:56 · 399 阅读 · 0 评论 -
nginx限流操作(与网管限流算法不一致)
nginx限流操作一般情况下,首页的并发量是比较大的,即使有了多级缓存,如果有大量恶意的请求,也会对系统造成影响。而限流就是保护措施之一。nginx提供两种限流的方式:一是控制速率控制速率的方式之一就是采用漏桶算法。springcloud限流采用的是令牌桶算法二是控制并发连接数漏桶算法实现 nginx的配置配置示意图如下:修改/usr/local/openresty/nginx...原创 2020-04-01 16:11:15 · 221 阅读 · 0 评论 -
nginx(OpenResty)+lua+redis实现缓存预热或二级缓存查询
nginx(OpenResty)+lua+redis实现缓存预热或二级缓存查询在电商项目中可以用来处理广告的缓存编写lua脚本实现缓存预热(将mysql里的数据查询出来存入redis)图解:编写lua脚本实现二级缓存读取图解:一丶实现缓存预热实现思路:定义请求:用于查询数据库中的数据更新到redis中。(1)连接mysql ,按照广告分类ID读取广告列表,转换为jso...原创 2020-04-01 16:07:01 · 862 阅读 · 0 评论 -
分布式ID生成解决方案(Idworker)
分布式ID生成解决方案 对于互联网应用,某个表可能会占用很大的存储空间,比如电商项目中的订单表,而且在项目部署时,我们会用到数据库分片,把一个数据库进行拆分,通过数据库中间件进行连接,这样的话如果采用数据自增,可能产生重复的ID. 因此,分布式ID生成解决方案应运而生:UUID(缺点,太长,无法排序)优点:简单,代码方便。生成ID性能非常好,基本不会有性能问题。全球唯一...原创 2020-04-01 16:00:32 · 1188 阅读 · 0 评论 -
JWT实现微服务鉴权及工具类提供
JWT实现微服务鉴权及工具类提供 结合上篇对网关的学习,我们使用网关在系统中比较适合进行权限校验,我学习的是JWT方式实现鉴权校验.一丶JWT了解JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。一个JWT实际上就是一个字符串,它由三部分组成,头部、载荷与签名。头部(Header)头部用于描述关于该JWT的...原创 2020-04-01 15:43:20 · 233 阅读 · 0 评论 -
微服务网关GateWay(含限流)
微服务网关GateWay不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:客户端会多次请求不同的微服务,增加了客户端的复杂性存在跨域请求,在一定场景下处理相对复杂认证复杂,每个服务都需要独立认证难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个服务合并成一个或者将一个服务拆分...原创 2020-04-01 15:39:39 · 2406 阅读 · 0 评论 -
SpringCloud之Eueka注册中心
SpringCloud之Eueka注册中心 Eureka的主要功能是进行服务管理,定期检查服务状态,返回服务地址列表。 Eureka架构中的三个核心角色:服务注册中心,服务提供者,服务消费者如图所示:一丶搭建eureka_server工程 Eureka是服务注册中心,只做服务注册;自身并不提供服务也不消费服务。可以搭建web工程使用Eureka,可以使用Spring Boo...原创 2020-03-31 20:15:59 · 325 阅读 · 0 评论 -
Bcrypt密码加密
Bcrypt密码加密 对于用户密码的保护,通常都会进行加密。我们通常对密码进行加密,然后存放在数据库中,在用户进行登录的时候,将其输入的密码进行加密然后与数据库中存放的密文进行比较,以验证用户密码是否正确。 目前,MD5和BCrypt比较流行。相对来说,BCrypt比MD5更安全。因为其内部引入的加盐机制 BCrypt 官网http://www.mindrot.org/projects...原创 2020-03-31 20:10:09 · 477 阅读 · 0 评论 -
初识SpringCloud相关知识
SpringCloud一丶 系统架构集中式架构:一台服务器,容错率比较低垂直拆分架构:代码重用率低分布式服务:调用错综复杂SOA:面向服务架构,SOA使用了ESB组件的面向服务架构:ESB自身实现复杂;应用服务粒度较大,所有服务之间的通信都经过ESB会降低通信速度;部署、测试ESB比较麻烦。微服务架构:是一套使用小服务或者单一业务来开发单个应用的方式或途径。单一...原创 2020-03-31 20:07:39 · 86 阅读 · 0 评论