微服务实战
文章平均质量分 88
SpringCloud-Alibaba技术框架是阿里开源的一项技术,同时也自己提供了一套相应的组件,笔者也在真实开发场景使用过它,故在这做了总结。SpringCloud笔者就先不收费了,开源供读者学习。本专栏提供了一套项目搭建、开发、测试、部署的方案教学,在真实开发场景积累下来的经验总结。
优惠券已抵扣
余额抵扣
还需支付
¥299.90
¥399.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
卡布奇诺-海晨
《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。有研究MyBatis的经验,设计模式,基本算法,也有相关的博文输出。未来时间允许情况下,推出更多的关于框架源码的知识以及结合工作经验的沉淀。程序员这条路一开始走对了后面就轻松些,作为过来人,有经验感受在博文透露。程序员这条路最好有个引路人,每个人都可以努力,但是方向不对努力白费。某音有视频教程(某马/某千等都是上万价格)
展开
-
【微服务】SpringCloud的OpenFeign与Ribbon配置
OpenFeign为微服务架构下服务之间的调用提供了解决方案,OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。但是如果请求连接超时、处理请求超时怎么办,如果我们放任不管听之任之势必造成服务雪崩,客户电话打爆投诉,背锅的又会是谁呢?所以本篇文章我们来探究一下超时处理:原创 2022-11-21 22:47:30 · 2733 阅读 · 6 评论 -
【微服务】Nacos的优势
易⽤:简单的数据模型,标准的restfulAPI,易用的控制台,丰富的使用文档。稳定:99.9%高可用,脱胎于历经阿里巴巴10年生产验证的内部产品,支持具有数百万服务的大规模场景,具备企业级SLA的开源产品。实时:数据变更毫秒级推送生效;1w级,SLA承诺1w实例上下线1s,99.9%推送完成;10w级,SLA承诺1w实例上下线3s,99.9%推送完成;100w级别,SLA承诺1w实例上下线9s99.9%推送完成。规模:十万级服务/配置,百万级连接,具备强大扩展性。原创 2022-11-14 21:15:07 · 1695 阅读 · 0 评论 -
集Oauth2+Jwt实现单点登录
SON Web Token (JWT) 是一个开放标准 (RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间安全地传输信息作为 JSON 对象。此信息可以验证和信任,因为它是数字签名的。JWT 可以使用密钥(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。原创 2022-08-24 14:49:49 · 2476 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第29章之Rancher
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。......原创 2022-08-10 11:00:19 · 1228 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第28章之Harbor安装以及镜像推送
Harbor作为私人仓库,Jenkins可以通过配置将构建好的镜像推送到Harbor私人仓库原创 2022-08-08 20:53:48 · 720 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第27章之Jenkins
插件:凭借更新中心的数百个插件,Jenkins 与持续集成和持续交付工具链中的几乎所有工具集成。可扩展:Jenkins 可以通过其插件架构进行扩展,为 Jenkins 可以做的事情提供几乎无限的可能性。分散式:Jenkins 可以轻松地在多台机器上分配工作,帮助更快地跨多个平台推动构建、测试和部署。...原创 2022-07-08 20:36:00 · 1339 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第26章之Jenkins
上一节我们完成了Jenkins的安装,这一节我们进入到Jenkins的配置环节,敬请期待!到此为止一些配置就差不多了,后面章节进行项目配置的讲解,敬请期待原创 2022-07-08 11:48:02 · 394 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第25章之Jenkins
持续集成和持续交付:作为可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器或变成任何项目的持续交付中心。简易安装:Jenkins 是一个独立的基于 Java 的程序,可以开箱即用,包含适用于 Windows、Linux、macOS 和其他类 Unix 操作系统的软件包。易于配置:Jenkins 可以通过其 Web 界面轻松设置和配置,其中包括即时错误检查和内置帮助。...原创 2022-07-07 21:25:16 · 808 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第24章之Docker部署
容器是一个标准的软件单元,它打包代码及其所有依赖项,以便应用程序从一个计算环境快速可靠地运行到另一个计算环境。Docker 容器镜像是一个轻量级的、独立的、可执行的软件包,包括运行应用程序所需的一切:代码、运行时、系统工具、系统库和设置。容器镜像在运行时变成容器,在 Docker 容器的情况下——镜像在Docker Engine上运行时变成容器。可用于 Linux 和基于 Windows 的应用程序,容器化软件将始终以相同的方式运行,无论基础设施如何。容器将软件与其环境隔离开来,并确保尽管开发和暂存之间原创 2022-07-07 11:34:29 · 1320 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第23章之Oauth2授权码模式
Spring Oauth2有4种模式,其中最安全的是授权码模式,本篇文章就是对授权码模式进行了一番探讨。原创 2022-07-07 10:38:10 · 1356 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第22章之Oauth2
而较常用的则为密码模式和授权码模式,而授权码模式又是最为安全的模式,常见的第三方授权登录就是基于Oauth2标准。完整的项目结构分为:客户端服务,认证服务,资源服务。客户端需要访问资源服务的资源时,则需要得到认证服务的认证。...原创 2022-07-04 11:32:40 · 1227 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第21章之分布式事务
传统的spring提供的声明式事务解决方案并不能解决分布式事务问题,只能解决单机事务。业界也提供了不少解决方案,其中阿里提供的seata项目受到了很多大型企业的认可,社区也很活跃。故我们采用Seata帮助我们解决分布式事务,下面就以实战经验,一起再来看看分布式事务的项目是如何实现的。...原创 2022-07-02 19:43:36 · 1259 阅读 · 8 评论 -
Spring Cloud Alibaba微服务第20章之分布式事务
从v1.4.2版本开始,已支持从一个Nacos dataId中获取所有配置信息,你只需要额外添加一个dataId配置项。首先你需要在nacos新建配置,此处dataId为seataServer.properties,配置内容参考https://github.com/seata/seata/tree/develop/script/config-center 的config.txt并按需修改保存在client参考如下配置进行修改,.........原创 2022-07-02 15:11:57 · 657 阅读 · 2 评论 -
Spring Cloud Alibaba微服务第19章之分布式事务
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。原创 2022-07-02 11:33:55 · 342 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第18章之消息服务
RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议(Advanced Message Queuing Protocol)实现。AMQP是为应对大规模并发活动而提供统一消息服务的应用层标准高级消息队列协议,专门为面向消息的中间件设计,该协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。正是基于AMQP协议的各种优势性能,使得RabbitMQ消息中间件在应用开发中越来越受欢迎。...原创 2022-06-30 22:36:45 · 1150 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第17章之消息服务
1、在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;2、拥有持久化的机制, 进程消息, 队列中的信息也可以保存下来。3、实现消费者和生产者之间的解耦。4、对于高并发场景下,利用消息队列可以使得同步访问变为串行访问达到一定量的限流, 利于数据库的操作。5.可以使用消息队列达到异步下单的效果, 排队中, 后台进行逻辑下单。...原创 2022-06-30 14:30:15 · 427 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第16章之服务容错
Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。这里,我们将会详细讲述如何通过简单的步骤就可以使用这些功能。接下来,我们将会逐一介绍如何整合 Sentinel 核心库和 Dashboard,让它发挥最大的作用。同时整合 Sentinel 实现限流以及服务容错,敬请期待。...原创 2022-06-28 21:15:48 · 1251 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第15章之服务容错
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。......原创 2022-06-28 12:30:21 · 430 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第13章之分库分表
Apache ShardingSphere 由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。 它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在原有基础上提供增量,而非颠覆。...原创 2022-06-27 20:04:49 · 580 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第14章之分库分表
ShardingSphere-JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用; ShardingSphere-Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。Apache ShardingSphere 是多接入端共同组成的生态圈。 通过混合使用 ShardingSphere-JDBC 和 ShardingSphere-Proxy,并采用同一注册中心统一配置分片策略,能够灵活原创 2022-06-27 20:18:11 · 1963 阅读 · 1 评论 -
Spring Cloud Alibaba微服务第11章之MyBatis-plus
MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。话不多说,直接上代码。原创 2022-06-27 15:47:23 · 1709 阅读 · 1 评论 -
Spring Cloud Alibaba微服务第10章之MyBatis-plus
通用 Service CRUD 封装IService(opens new window)接口,进一步封装 CRUD 采用get 查询单行remove 删除list 查询集合page 分页前缀命名方式区分Mapper层避免混淆,泛型T为任意实体对象建议如果存在自定义通用 Service 方法的可能,请创建自己的IBaseService继承Mybatis-Plus提供的基类对象Wrapper为条件构造器......原创 2022-06-27 12:52:59 · 452 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第9章之MyBatis-plus
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence)...原创 2022-06-27 10:02:20 · 542 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第8章之OpenFeign
feign默认集成了Ribbon,看看feign是不是更加方便服务之间调用,面向接口编程,不需要到处拼接URL,完全就像调用controller一样。代码清晰明了,编程风格类似Controller。原创 2022-06-26 22:15:50 · 1346 阅读 · 0 评论 -
Spring Cloud Alibaba微服务第7章之负载均衡Ribbon
负载均衡,一定程度上也保障了服务的高可用。因为它可以把一堆请求分发到多个Server服务实例上面去,而不会集中放到一块,避免所有请求集中打到一个服务实例上面而把服务弄崩了。原创 2022-06-26 18:08:38 · 1285 阅读 · 0 评论 -
SpringCloud Alibaba微服务第6章之Gateway
通俗一点地讲网关就像大学的门口,有门卫在那里坚守。如果你想进入园区,你得亮出你的学生证、绿色健康码、行程卡,门卫可能检查比对看看是否是本校学生。 下图展示了一 个适应当前架构的 API Gateway。...原创 2022-06-25 20:52:30 · 1452 阅读 · 0 评论 -
SpringCloud Alibaba微服务第5章之Gateway
API Gateway 是一个服务器,也可以说是进入系统的唯一节点(插入个面试者的描述:面试官心想既然你了解微服务,那么想问你微服务的 入口 是什么,面试者假装沉思:注册中心、微服务、配置中心...然后以肯定的语速回答了--网关。面试官面无表情地只回了个“嗯”)。这跟面向对象设计模式中的 Facade 模式很像。API Gateway 封装内部系统的架构,并且提供 API 给各个客户端。它还可能有其他功能,如授权、监控、负载均衡、缓存、请求分片和管理、静态响应处理等。 通俗一点地讲网关就像大学的门口..原创 2022-06-25 17:01:17 · 563 阅读 · 0 评论 -
SpringCloud Alibaba微服务第4章之Nacos
配置服务提供者,从而服务提供者可以通过 Nacos 的服务注册发现功能将其服务注册到 Nacos server 上。配置服务消费者,从而服务消费者可以通过 Nacos 的服务注册发现功能从 Nacos server 上获取到它要调用的服务。......原创 2022-06-25 14:39:12 · 1355 阅读 · 0 评论 -
SpringCloud Alibaba微服务第3章之Nacos
本文主要面向Spring Cloud的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理。关于 Nacos Spring Cloud 的详细文档请参看:Nacos Config。通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。...原创 2022-06-25 09:39:36 · 421 阅读 · 0 评论 -
SpringCloud Alibaba微服务第2章之Nacos
注册配置中心是一个集中化管理中心,它不仅仅可以管理多个系统,还可以管理各种环境。那么Nacos是如何进行管理的呢?要确保它们之间没有互相干预,那就得确保相互独立,于是命名空间就应运而生。......原创 2022-06-24 20:56:04 · 715 阅读 · 0 评论 -
SpringCloud Alibaba微服务第1章
一、创建父工程1、选择File -> new -> Project2、选择Maven,点击Next3、输入GroupId、ArtifactId,点击Next4、选择项目存放路径,点击Finish完成项目创建5、pom.xml引依赖,注意idea右下角可能import下二、创建子工程1、创建微服务ceam-service-a模块1.1、右击项目test-cloud -> New -> Module,为项目创建模块,模块化1.2、选择Maven,点击Next.......原创 2022-06-23 21:05:24 · 676 阅读 · 0 评论 -
Docker安装Nacos
1、在虚拟机VMware创建新的虚拟机并安装CentOS7,平时可以练习这一步可以看看笔者的另一篇博文在虚拟机VMware安装CentOS72、在CentOS7安装Docker这一步可以看看笔者的另一篇博文CentOS安装Docker3、在Docker安装MySQL7这一步可以看看笔者的另一篇博文结合实践总结docker 安装 mysql5.74、导入执行nacos-mysql.sql脚本...原创 2022-06-23 15:59:42 · 410 阅读 · 0 评论 -
Nacos究竟是什么
Nacos是为动态服务发现、配置以及服务管理而量身打造的一个易用的平台。它帮助您容易地建立云本机应用程序和microservices微服务平台。在Nacos,服务是一个头等公民。Nacos支持几乎所有业务类型,例如,Doubbo/gRPC服务、SpringCloud RESTFul服务或者Kubernetes服务。Nacos提供四个主要作用如下:......原创 2022-06-22 13:58:55 · 491 阅读 · 0 评论 -
Window系统安装Nacos
Nacos是用Java语言编写的,框架技术采用了时下流行的SpringBoot,感兴趣的读者可以克隆一下其源码进行研究研究。 在SpringCloud中注册中心、配置中心都需要专门去写一定量的以及一些配置,配置信息多了就不方便去维护管理,于是阿里的Nacos 解决这些问题就提供了该一站式解决方案。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。...原创 2022-06-22 20:42:14 · 422 阅读 · 0 评论 -
SpringCloud Alibaba微服务开篇
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服 务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba ,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接 入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。.....................原创 2022-06-21 22:05:46 · 924 阅读 · 0 评论