spring cloud
文章平均质量分 78
学习spring cloud的路程
maybe宸
在有限的时光里,多做有意义的事。
展开
-
spring cloud + feign 和 dubbo 两种框架下的无业务代码侵入的日志trace方案
新公司架构对外提供http接口服务,内部微服务间采用Dubbo进行通信。因为服务拆的非常散,HTTP到RPC服务之间的日志完全独立不利于排查问题。所以开发了一个小功能,trace日志追踪。正好之前也开发过spring cloud系的相同功能,来分别记录一下。通用内容:日志框架logback日志输出格式中加入traceId的输出 <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG.原创 2021-03-09 09:05:20 · 1016 阅读 · 3 评论 -
spring cloud + nacos 多环境部署
我们开发过程中,要经历本地开发环境、dev开发环境、qa测试环境、(甚至还有uat演示环境)、生产环境。那么我们就需要将服务做多环境处理。我们现在使用都是spring boot架构,它可以根据配置文件的配置去匹配子文件后缀,不过在Spring cloud环境下使用了nacos作为配置中心需要使用bootstrap.yml替换 appliation,yml作为配置文件。因为bootstrap的加...原创 2020-01-18 10:38:25 · 3298 阅读 · 0 评论 -
spring boot 使用 nacos作为注册和配置中心
nacos是阿里开源的注册、配置中心,可以实现服务的注册发现,配置的动态刷新等。nacos提供了集群模式,单机模式,还有一个内置了数据库的包。实现开箱即用。这里单独说一下nacos的namespace概念,nacos在所有注册和配置之外做了一层命名空间,保证每个命名空间下的配置和注册的服务的独立性。简述一下使用过程吧。首先需要添加nacos的依赖compile 'org.spri...原创 2020-01-18 09:34:36 · 1258 阅读 · 2 评论 -
微服务整合J2cache并改造使用
我们的微服务架构中,存在一个单独的基础数据中心,存放了各个服务、页面、app端的所需要的基础数据信息。这些数据的特点就是不易变,查询量大;最适合的场景就是进行缓存。经过一番商讨,决定使用J2Cache二级缓存。整个缓存架构过程:具体更多关于J2cache可以去查看官网文档。我这里简述我们的使用方法,因为我们是springboot项目,Spring的IOC可以让我们...原创 2020-01-06 22:08:27 · 4194 阅读 · 1 评论 -
Spring cloud gateway + JWT时Netty限制header大小导致请求bad Request问题解决
写得比较匆忙,本文主要以整体微服务架构简述开头,按照问题排查过程叙述,加以springboot启动源码浅析和解决办法。如有错误请指正先说版本Spring boot 2.0.4。Spring cloud F版 jdk1.8我们目前的微服务架构,当用户登录后会发放JWT的token令牌给前端,之后的请求都将此token放到http的header中传入后台。但是前端调用时发现之前正...原创 2019-12-24 22:53:16 · 5501 阅读 · 3 评论 -
Spring Cloud Gateway 微服务网关
给公司做的微服务架构中,我们用了gateway作为所有微服务的前端入口,对后端微服务进行路由。gateway使用了webflux的纯异步IO方式开发。实现了更高效的网关服务。gateway的使用使用很简单,这里简单说一下,我们使用的是gradle作为构建工具dependencies { compile 'org.springframework.boot:sprin...原创 2019-12-01 21:41:00 · 407 阅读 · 0 评论 -
spring cloud consul 使用以及和eureka的区别
现在在做供应链项目,项目还是一套微服务架构体系。注册中心从之前用的eureka换到了consul。架构的理由估计是eureka不更新了吧。所以来学习一下consul的内容。最近比较忙,我也不再单独查资料了,就把自己知道的写出来好了。如有错误请指正哈。什么是consulconsul是一个spring cloud 中集成好的开源的分布式的服务注册发现中心。由Go语言编写。支持健康检查,多数...原创 2019-06-04 12:36:17 · 6233 阅读 · 4 评论 -
Spring Cloud Zuul 服务网关默认规则及负载均衡示例
我们微服务架构中,各个微服务之间的调用是通过各个eureka客户端把自己注册到eureka服务端中,然后使用feignClient进行调用。这样我们就可以只关心调用的微服务的服务名而无需关心他的实际IP,端口,集群的负载均衡。那么问题来了,如果外部调用呢?前后端分离时,前端调用我们后端暴露接口,如何做到动态调整,负载均衡,并且如果直接访问后端暴露接口是否真正安全?所以今天我们来看一...原创 2019-01-22 17:20:28 · 6641 阅读 · 1 评论 -
spring cloud openfeign 深入学习
spring cloud 架构使用openfeign进行声明式的服务调用,之前我们已经写过了关于openfeign的简单搭建使用。详情请点这里今天我们就不写使用了,我们来看一下openfeign的一些详解。@EnableFeignClients先看一下源码:/* * Copyright 2013-2018 the original author or authors. *...原创 2019-01-22 15:54:37 · 1260 阅读 · 0 评论 -
Spring Cloud 整体架构学习心得
最近要开新项目,使用微服务架构,正好就在之前的spring boot基础之上。所以觉得还是要把最近的思考写一下。让我们小到大一点点说。本文只代表我个人观点理解。1,springspring几乎可以说是现在java开发者都知道的一个开源框架,使用javabean致力于解决企业级应用开发的复杂性。总结有以下优点:1,高内聚低耦合2,简化开发3,IOC一个大工厂管...原创 2019-01-16 15:23:44 · 2263 阅读 · 0 评论 -
Spring Cloud Config + Spring Cloud Bus + RabbitMq实现微服务高可用配置中心
在一个微服务架构中会有很多微服务,每个微服务都有自己的配置文件,这会随着微服务的数量增多而变的难以管理。所以spring cloud 给我们提供了一个很强大的配置管理中心,spring cloud config,他可以将我们的配置文件集中于一处进行集中管理。并且可以通过spring cloud bus + rabbitMQ 进行广播,同步到所有节点,并且直接生效。 注意几点...原创 2019-01-17 11:29:30 · 642 阅读 · 0 评论 -
Spring Cloud Eureka + Openfeign 搭建
要开新项目啦,哈哈哈这回是个分布式微服务项目,所以先来实践一下。架构使用spring boot2.1.1, jdk8,其实想用JDK11的,但是考虑到后面有可能会应用到项目中,所以直接JDK8吧。IDE用STS4.1,注册中心eureka现在的微服务不能保证每个节点永远不出现问题,所以我们需要注册和发现中心,我理解eureka主要作用就是进行微服务的自动注册和发现,以及心跳检测...原创 2019-01-11 14:58:51 · 1943 阅读 · 8 评论 -
Redis实现接口幂等
最近自己在做一套spring开发脚手架,期间做了一个幂等工具。今天分享一下吧。也请大家给提提意见。看看有哪些问题。实现思路大概就是一个声明式的方式,通过注解进入切面,实现对目标方法的环切。利用redis的单线程特性。实现接口幂等。不多说了,直接上代码,现阶段还不是很完善。后续如果整个项目完善了,到时候再发上来吧。先看一下注解:/** * 幂等注解 * 用于c...原创 2019-08-29 10:57:24 · 3708 阅读 · 3 评论