随笔分类 - 微服务
摘要:
Java技术栈伙伴已深知SpringCloud Alibaba微服务一站式解决方案,今天力推腾讯强势开源微服务治理框架PolarisMesh,与前者Alibaba一样也支持SpringCloud Tencent框架整合,开篇先从亮点和性能上对比其他微服务治理框架,初步了解架构原理概况,并通过二进制安装Polaris集群,最后通过一个SpringCloud Tencent整合demo演示了服务的注册和发现、配置中心动态配置。
阅读全文

摘要:
本篇介绍SkyWalking v9.1.0的性能剖析、日志、告警的使用示例,开启对于SkyWalking原理的探索,重点讲述SkyWalking利用Java Agent实现无侵入结合使用Byte Buddy对字节码操作,以代码说明Java Agent和Byte Buddy的使用步骤和从常见API,最后以一个统计方法耗时的代码实现无侵入的普通类代理增强。
阅读全文

摘要:
本篇从微服务监控三大要素,了解分布式链路追踪理论基础,SkyWalking与其他常见开源APM系统比较,介绍SkyWalking组成,部署基于ES持久化SkyWalking,通过两个微服务实战示例演示基于Java语言的无侵入Agent配置使用和SkyWalking UI几个常见功能,最后实现一个自定义链路追踪的示例。
阅读全文

摘要:
本篇从基于Seata分布式事务框架实现的AT、TCC、SAGA、XA模式理论基础出发了解其原理、流程和使用场景,并使用Seata最新版本1.5.2和客户端Starter最新版本1.5.2以订单和库存两个微服务实现AT、XA事务模式的完整配置和使用的踩坑示例说明,以Java调试模式说明如AT模式下TC、TM、RM的交互数据。
阅读全文

摘要:
没错,seata最新版本1.5.2也有像Nacos一样的控制台界面了,本篇从本地事务和分布式事务的理论开始,熟悉两阶段提交流程,引出具有TC、TM、RM三大角色分布式解决方案,TC也就是我们SeataServer,从源码包中获取资源文件,详细介绍基于Nacos配置中心和注册中心的MySQL数据库存储可用于生产系统的完整部署步骤,提前踩坑
阅读全文

摘要:
Spring Cloud Gateway作为Spring Cloud生态体系全家桶的一员不可或缺,本篇承接上一文章继续从实战层面如何使用网关局部过滤器和全局路由过滤器,以及如何做自定义实现,进一步通过整合Sentinel实现网关的限流和结合限流控制台详细说明配置操作步骤。...
阅读全文

摘要:
Spring Cloud Gateway作为Spring Cloud生态体系中的网关,目标替代Netflix的Zuul且势在必行,本篇从流量网关和服务网关认识开始,了解常见网关技术选型;进而进行网关开发配置初体验,通过整合Nacos实现服务路由,了解路由断言工厂的常见配置,最后通过一个自定义路由断言工厂的加深理解。
阅读全文

摘要:
本篇详细介绍了最新版本1.8.4 Sentinel控制台的使用,逐步说明如何从控制台设置流控规则、熔断降级规则、热点参数限流规则、系统规则并结合相应的完整实例演示,并给出了一个统一异常处理示例,最后给出实际生产开发Sentinel整合OpenFeign和规则持久化的操作步骤。
阅读全文

摘要:
Sentinel是面向分布式服务架构的高可用防护组件,本篇从基础入门,了解其特性、设计理念、工作流程,结合三步骤的代码和注解的示例实现流量控制、熔断降级基础功能,以最新源码打包部署sentinel控制台。
阅读全文

摘要:
Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器,抽象和实现,用来替代Ribbon.本篇从常见使用示例开始,一步步分析源码实现原理,最后还通过一个自定义负载均衡算法加深对源码的理解
阅读全文

摘要:
简单的说Spring Cloud OpenFeign是对Feign一个增强,使其支持Spring MVC注解,并与SpringCloud完成整合,本篇从简单示例入手,熟悉锲约配置、超时时间、自定义拦截器、日志,最后通过@EnableFeignClients入手一步步分析核心源码实现。
阅读全文

摘要:
本篇从Nacos源码启动开始,逐步学习Nacos的配置模型、一致性协议、寻址机制、服务注册与发现和配置服务的核心原理,有兴趣小伙伴可在此基础上继续深入学习Nacos架构与原理。
阅读全文

摘要:
本篇通过实战一个在线选课系统,推荐一个好用接口工具Apifox,并详细介绍了其常用的功能,从接口设计开始,为设计人员、前端开发、后端开发、测试提供高效率协作案例
阅读全文

摘要:
本篇以SpringCloudAlibaba框架创建库存微服务和订单微服务的服务注册与发现的例子,从Dockerfile文件的编写到Docker-Compose文件编写,引入io.fabric8的docker-maven-plugin实现maven打包、生成镜像和推送的内网Harbor仓库,最后通过启动脚本启动容器和测试
阅读全文

摘要:
本篇从Nacos配置中心和注册中心服务注册和发现综合使用示例,详细完成剖析的配置中心和注册中心使用和注意事项,同时引入Spring Cloud Loadbalancer和Spring Cloud OpenFeign的实践案例,以库存和订单接口形象的说明微服务整体业务流程
阅读全文

摘要:
不断踩坑并解决问题是每个程序员进阶到资深的必要经历并以此获得满足感,而不断阅读开源项目源码和总结思想是每个架构师成长最佳途径。本篇拉开SpringCloud Alibaba最新版本实战和原理序幕,以工程实践的简单完整实战示例为主线,步步深入并可为实际项目中带来启发
阅读全文

摘要:
本篇从单机小型机->垂直拆分->集群化负载均衡->服务化改造架构->服务治理->微服务时代的架构演进开始阐述,并逐步引出ServiceMesh服务网格时代,了解ServiceMesh的概念,列出一些国内外的ServiceMesh项目,最后重点介绍了目前最主流的产品Istio的组成和特点。
阅读全文

摘要:
如同JDK函数式、链式编程、Lambda表达式、Stream流编程,Docker也是Java技术栈开发人员必不可缺的一门容器化技术,本篇主要从Docker的由来开发,了解原理、常用命令以及容器卷技术,如何一步步写DockerFile,了解Docker网络以及Ngnix、ES集群的容器化部署实战入手。docker可以打包镜像发布实现一键运行,使用docker我们可以像搭积木一样增加一层层镜像实现,docker是内核级别的虚拟化,比虚拟机更少的抽象层,一台物理机上可以运行很多的容器示例,可以把服务器性能压榨到极致。
阅读全文

摘要:
作为笔者见解,Spring Boot 不算是一个全新的框架,Spring Boot 底层还是大量依赖于Spring Framework,而Spring Framework很早以前版本就已提供基于注解、Java Config而不仅是XML配置编程;Spring Boot采用约定大于配置方式替代xml配置,是Spring Framework一个大升级版本,整合很多自动装配组件,让开发者开箱即用,接下来我们一起来学习下Spring Boot三个重要的特性和大名鼎鼎开箱即用starter开发简易剖析。
阅读全文

摘要:
容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离。动态管理:通过集中式的编排调度系统来动态的管理和调度。面向微服务:明确服务间的依赖,互相解耦。云原生以容器、微服务、DevOps等技术为基础为代表的敏捷基础架构组成,用于帮助企业快速、持续、可靠、规模化的交付业务软件,云原生需要考虑是从开发-测试-运维一体化的需求。云原生基于云计算为基础,而云计算核心三大部分包括Iaas、Paas、Saas,这三个概念拿做番茄炒蛋来比喻,Iaas则我们只租用厨房,然后自己完成各个烹饪过程包括先炒蛋,然后再炒番茄,然后再混着一起炒完成番茄炒蛋;Paas则是厨房已提供一些基础功能,比如我们给厨房番茄则会输出给我们炒好的番茄,给厨房鸡蛋输出给我们炒好鸡蛋,最后我们最后完成番茄炒蛋;Saas则是直接给我们番茄炒蛋类似点外卖;云原生生态丰富,发展极为迅速
阅读全文
