spring cloud实战
文章平均质量分 93
主要是记录自己实际项目中适用spring cloud构建微服务的一些坑和痛点,也是对自己日常工作知识体系的一个梳理,希望自己能更深入思考项目中的一些内容,也带给大家一些启迪。
斗者_2013
多年java老兵,专注微服务,中间件等热点技术,分享工作心得和技术干货
展开
-
微服务拆分策略
拆分策略可以按功能和非功能维度进行考虑,功能维度主要是划分清楚业务的边界,非功能维度主要考虑六点包括扩展性、复用性、高性能、高可用、安全性、异构性。接下来详细介绍下。1、功能维度功能维度主要是划分清楚业务边界,采用的主要设计方法可以利用 DDD(关于 DDD 的理论知识可以参考网上其它资料),DDD 的战略设计会建立领域模型,可以通过领域模型指导微服务的拆分,主要分四步进行:第一步,找出领域实体和值对象等领域对象。第二步,找出聚合根,根据实体、值对象与聚合根的依赖关系,建立聚合。第三步,根据业务及原创 2022-01-21 14:03:11 · 3782 阅读 · 0 评论 -
logback出现大量XXX_IS_UNDEFINED日志文件的问题
在spring boot中采用logback将日志打印到文件时,你是否遇到过文件名为XXX_IS_UNDEFINED的情况,今天带大家一块分析解决这个问题。原创 2021-10-13 11:16:01 · 6974 阅读 · 6 评论 -
全网首发:Seata Saga状态机设计器实战
全网首发:Seata Saga状态机设计器实战。带你从0开始搭建一个基于spring boot+seata的可执行Saga分布式事务demo,并避开状态机设计器中的各自坑原创 2021-05-20 19:03:35 · 3616 阅读 · 3 评论 -
Seata TCC模式实战
Seata TCC模式实战原创 2021-04-29 15:03:38 · 2845 阅读 · 1 评论 -
再论数字化转型-转什么,如何转?
今天准备再写一篇文章来谈下企业数字化转型。重点还是围绕数字化转型的本质究竟是什么?企业如何进行数字化转型这两个关键点。前面我谈得比较多的是云原生,微服务,中台等,而这些本身仅仅是数字化转型能力框架中的技术支撑平台底座。这个技术平台最终还是需要为业务目标和战略服务,因此搞清楚企业进行数字化转型的内在诉求才是最重要的。1.数字化转型概述首先还是看下对于数字化转型的一个基本定义,我们在这里引用两个定义,一个是百度百科的定义,一个是IDC的定义。先看下百度百科上对数字化转型定义如下:数字化转型(Dig.转载 2021-04-02 17:06:43 · 779 阅读 · 0 评论 -
微服务系列:全链路监控系统说明
微服务系列:全链路监控系统说明转载 2021-04-02 16:17:06 · 1305 阅读 · 0 评论 -
还不会分布式事务,seata xa模式入门实战送上
还不会分布式事务,seata xa模式入门实战送上原创 2021-04-01 18:00:19 · 1452 阅读 · 0 评论 -
学习微服务你必须了解的设计模式
学习微服务你必须了解的设计模式原创 2021-03-29 16:33:42 · 513 阅读 · 1 评论 -
微服务系列:Spring Cloud核心组件图解
微服务系列:Spring Cloud核心组件图解原创 2021-03-25 14:40:02 · 1098 阅读 · 2 评论 -
微服务系列:互联网架构演进
互联网架构从简到繁的演进经历了单体架构-分布式架构-SOA架构-微服务架构以及最新的service mesh的演进过程。原创 2021-03-25 13:37:39 · 381 阅读 · 2 评论 -
微服务系列:nacos注册中心实战
微服务系列:nacos注册中心实战原创 2021-03-20 15:18:57 · 353 阅读 · 0 评论 -
微服务系列:nacos配置中心实战
微服务系列:nacos作为配置中心如何使用原创 2021-03-19 18:46:12 · 1152 阅读 · 0 评论 -
微服务系列:nacos简介和安装部署
微服务系列:nacos实战指南(一),介绍nacos的作用,部署安装,mysql持久化配置,权限认证的开启。原创 2021-03-16 15:06:31 · 1732 阅读 · 0 评论 -
分布式事务理论详解
前言随着分布式架构的越来越流行,分布式事物的问题在项目中也越来越普遍,那么究竟什么是分布式事物,在哪些场景会产生分布式事物呢?事务的具体定义事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整个事务的回滚。简单地说,事务提供一种“要么什么都不做,要么做全部(All or Nothing)”机制。数据库本地事务ACID说到数据库事务就不得不说,数据库事务中的四大特性 ACID:原创 2020-11-19 15:52:18 · 426 阅读 · 0 评论 -
如何在gateway网关中聚合swagger
前言由于项目原因,需要将网关从zuul升级到gateway网关,由于 gateway网关底层是基于webflux的,导致原先在网关中集成的swagger不可用。那么如何在gateway网关中整合swagger呢?一、maven依赖配置核心是将swagger升级到了3.0.0版本。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sprin原创 2020-10-15 17:28:42 · 6722 阅读 · 0 评论 -
全网首发:Spring Cloud Gateway设置统一的请求前缀
前言最近由于项目中要引入websocket,而原来的zuul网关对websocket支持并不友好,所以将原先的zuul网关切换成了Gateway网关。踩了不少坑,其中的一个问题就是如何给Spring Cloud Gateway添加统一的请求前缀。在zuul网关中我们可以直接指定server.servlet.context-path属性,但是Gateway网关我们要如何配置呢?一、Spring Cloud Gateway工作原理说明这是官网的工作原理示意图:Gateway的工作原理:客户端请求原创 2020-10-15 16:39:05 · 8280 阅读 · 0 评论 -
使用RestTemplate进行restful调用,你真的会了吗
微信公众号:跟着老万学java欢迎关注,了解更多编程技巧,一起交流,一起成长。RestTemplate是一种更优雅的调用RESTful服务的方式,并且能结合Ribbon一起使用。概述spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值类型即可。相较...原创 2020-05-02 14:51:48 · 2732 阅读 · 0 评论 -
springcloud中微服务的优雅停机
大部分项目部署中,为了方便,可能都直接使用kill -9 服务的pid来停掉服务。但是由于Eureka采用心跳的机制来上下线服务,会导致服务消费者调用此已经kill的服务提供者然后出错。可以采用以下方式来解决:核心是先调用方法主动通知Eureka注册中心服务下线,然后在停掉服务。本文会介绍几种eureka 注册中心服务下线的方式最不可取的就是直接使用kill命令停掉服务。默认情况下...原创 2019-04-22 10:48:29 · 3675 阅读 · 0 评论 -
Spring Cloud源码分析之Eureka篇:服务注册
本章学习的是服务注册逻辑的相关代码,对应用如何将自身信息注册到Eureka进行深入了解,原文地址:https://blog.csdn.net/boling_cavalry/article/details/82861618关于源码版本本次分析的Spring Cloud版本为Edgware.RELEASE,对应的eureka-client版本为1.7.0;源码分析首先回顾com.netflix...转载 2019-04-10 11:39:49 · 442 阅读 · 0 评论 -
Spring Cloud源码分析之Eureka篇第七章:续约
在文章《Spring Cloud源码分析之Eureka篇第四章:服务注册是如何发起的 》的分析中,我们知道了作为Eureka Client的应用启动时,在com.netflix.discovery.DiscoveryClient类的initScheduledTasks方法中,会做以下几件事:周期性更新服务列表;周期性服务续约;服务注册逻辑;本章学习的是周期性服务续约的相关代码,对应用如何将...转载 2019-04-10 11:33:44 · 486 阅读 · 0 评论 -
Spring Cloud中关于Feign的常见问题总结
这篇文章主要给大家介绍了Spring Cloud中关于Feign的常见问题,文中通过示例代码介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。一、FeignClient接口,不能使用@GettingMapping 之类的组合注解代码示例:@FeignClient("microservice-provider-user")public interface UserFeignClient...转载 2019-03-23 01:03:09 · 1539 阅读 · 0 评论 -
spring cloud总览和架构图
本节主要是根据微服务的技术架构图,介绍下spring cloud微服务体系中的核心组件。下面是spring官网的spring cloud微服务架构图:核心组件说明:分享2张微服务的架构图:之后的文章中,会针对各组件和底层原理调优,以及工作中遇到的一些坑,进行一些记录和说明。1、各组件的原理和使用2、服务划分和数据库拆分思路3、微服务的部署方案4、微服务中的一些优化...原创 2019-03-05 13:10:18 · 25160 阅读 · 2 评论 -
使用Feign时报错Service id not legal hostname
报错Service id not legal hostname的原因是服务名称不能带有下划线,可以使用中划线参考:https://github.com/spring-cloud/spring-cloud-netflix/issues/1582转载 2019-03-19 00:43:33 · 8272 阅读 · 1 评论 -
spring cloud性能调优
网上看了好多关于spring cloud性能调优这类的文章,良莠不齐。本文针对公司微服务并发的实际场景以及网上调研的资料分析影响微服务并发的各种配置优化。先说明线上调用的实际例子:通过zuul网关 调用服务A的接口,服务A的接口里面通过Feign调用服务B的接口。问题:通过JMeter并发测试发现,并发数竟然没有达到30次/s,即QPS不到30。这备注:TPS(吞吐量) 系统在单...原创 2019-03-15 15:54:51 · 13294 阅读 · 0 评论 -
Spring Cloud Zuul性能调整
Spring Cloud Zuul性能调整Spring Cloud 版本:Dalston.SR5这两天通过JMeter测了一下Spring Cloud Zuul的性能,用的是两台虚机8核8G和4核8G,宿主机是10核逻辑20核,代理的服务简单的返回字符串hello,vm堆内存1G够用先说一下测试情况,值得一提的是测试并不严谨,因为用的是虚机,并且虚机上还跑了一些其它的东西,所以不能作为最终...转载 2019-03-05 11:38:59 · 1553 阅读 · 0 评论