微服务
文章平均质量分 91
程序新视界
个人公众号【程序新视界】,一个硬技术,软实力同步提升的平台。《Spring Boo技术内幕:架构设计与实现原理》作者,《深入以太坊智能合约开发》联合作者之一。主要从事于三方支付行业。
展开
-
分布式任务调度系统XXL-Job快速入门体验
背景为了能够更加灵活的控制定时任务,最近在项目中开始推行定时任务调度系统,跟不少大厂朋友交流之后,发现XXL-Job市场还是挺广的,功能强大,定为首选。再加上XXL-Job是基于Spring Boot的开源项目,二次开发非常容易,所以就选定了XXL-Job。这篇文章就带大家领略一下XXL-Job的魅力,可以不用,但不可不知道。XXL-Job简介访问官方网站会看到XXL-Job各类特性介绍,这里总结一下就是:学习简单、轻量级、易扩展、动态生效、调度中心HA、执行器HA、弹性扩容缩容、路由策略、故障转移原创 2022-01-28 16:13:58 · 1903 阅读 · 2 评论 -
微服务架构:Nacos本地缓存 PK 微服务优雅下线
前言在上篇文章《微服务:剖析一下源码,Nacos的健康检查竟如此简单》中讲了当微服务突然挂掉的解放方案:调整健康检查周期和故障请求重试。朋友看了文章,建议再聊聊正常关闭服务时如何让微服务优雅下线。为什么说是优雅下线?我们知道在分布式应用中为了满足CAP原则中的A(可用性),像Nacos、Eureka等注册中心的客户端都会进行实例列表的缓存。当正常关闭应用时,虽然可以主动调用注册中心进行注销,但这些客户端缓存的实例列表还是要等一段时间才会失效。上述情况就有可能导致服务请求到已经被关闭的实例上,虽然通过重原创 2021-07-07 07:48:18 · 2529 阅读 · 10 评论 -
微服务:剖析一下源码,Nacos的健康检查竟如此简单
前言前面我们多次提到Nacos的健康检查,比如《微服务之:服务挂的太干脆,Nacos还没反应过来,怎么办?》一文中还对健康检查进行了自定义调优。那么,Nacos的健康检查和心跳机制到底是如何实现的呢?在项目实践中是否又可以参考Nacos的健康检查机制,运用于其他地方呢?这篇文章,就带大家来揭开Nacos健康检查机制的面纱。Nacos的健康检查Nacos中临时实例基于心跳上报方式维持活性,基本的健康检查流程基本如下:Nacos客户端会维护一个定时任务,每隔5秒发送一次心跳请求,以确保自己处于活跃状态。原创 2021-07-05 07:05:33 · 726 阅读 · 0 评论 -
微服务之:服务挂的太干脆,Nacos还没反应过来,怎么办?
前言我们知道通过Nacos等注册中心可以实现微服务的治理。但引入了Nacos之后,真的就像理想中那样所有服务都由Nacos来完美的管理了吗?Too young,too simple!今天这篇文章就跟大家聊聊,当服务异常宕机,Nacos还未反应过来时,可能会发生的状况以及现有的解决方案。Nacos的健康检查故事还要从Nacos对服务实例的健康检查说起。Nacos目前支持临时实例使用心跳上报方式维持活性。Nacos客户端会维护一个定时任务,每隔5秒发送一次心跳请求,以确保自己处于活跃状态。Nacos原创 2021-07-02 07:29:49 · 4090 阅读 · 2 评论 -
Nacos服务自动关闭问题汇总
Nacos服务自动关闭在使用Nacos时,有时候会遇到服务自动关闭的情况。这通常涉及到三方面的原因:内存配置、启动方式和关闭方式。下面逐一说明。内存配置导致Nacos关闭Nacos最新版本默认的JVM配置是2G,如果你的服务器配置比较低,在这样的默认配置下会导致OOM情况的发生。startup.sh中配置项:if [[ "${MODE}" == "standalone" ]]; then JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"原创 2021-06-29 20:54:07 · 10447 阅读 · 2 评论 -
微服务之吐槽一下Nacos日志的疯狂输出
前言目前公司系统采用Spring Cloud架构,其中服务注册和发现组件用的Nacos,最近运维抱怨说,磁盘不够用,日志增长的太快。简单排查一下,罪魁祸首竟然是Nacos。按理说Nacos作为服务注册中心,不会应该会产生太多日志的,本身涉及的服务也不多,但几天就会产生1G以上的日志,的确有点疯狂。这篇文章就聊聊Nacos的日志系统。事件背景经过排查,其中输出最多的日志为{nacos.home}/logs/access_log.yyyy-mm-dd.log格式的日志。日志中包含了微服务系统调用Naco原创 2021-06-29 20:46:34 · 3513 阅读 · 0 评论 -
一个实例,轻松演示Spring Cloud集成Nacos实例
前言学习一个技术框架,最快速的手段就是将其集成到项目中,体验一下它的功能。在这个过程中,你还踩到很多坑。而排坑的过程,又是一次能力的提升。前面我们写了一些列Nacos的文章,经过《学习Nacos?咱先把服务搞起来,实战教程》的介绍,我们已经可以把Nacos Server给启动起来了。这篇文章,我们就来学习一下如何将Nacos集成到Spring Cloud项目中,同时实例演示一下,基于Nacos的微服务之间的两种调用形式。集成与版本为了演示这个案例,大家首先要将Nacos Server跑起来。同时会原创 2021-05-25 06:34:05 · 1371 阅读 · 0 评论 -
学习Nacos?咱先把服务搞起来,实战教程~
前言前面已经写不少Nacos相关的文章了,比如《Spring Cloud集成Nacos服务发现源码解析?翻了三套源码,保质保鲜!》,而且目前也计划写一个Spring Cloud的技术解析专栏,一个技术框架一个技术框架的为大家拆解分析原理和实现。既然拿Nacos作为一个开始,那么我们这篇文章就来补充一下Nacos Server的部署以及Nacos Client的调用,直观的了解一下Nacos都包含了什么功能。这是使用Nacos的基础,也是后续进行深度剖析的依据。强烈建议一起学习一下。Nacos Serv原创 2021-05-21 06:19:46 · 744 阅读 · 8 评论 -
Spring Cloud集成Nacos服务发现源码解析?翻了三套源码,保质保鲜!
前面文章我们介绍了Nacos的功能及设计架构,这篇文章就以Nacos提供的服务注册功能为主线,来讲解Nacos的客户端是如何在Spring Cloud进行集成和实现的。本会配合源码分析、流程图整理、核心API解析等维度来让大家深入浅出、系统的来学习。Spring Boot的自动注册故事要从头Spring Boot的自动注入开始。很多朋友大概都了解过Spring Boot的自动配置功能,而Spring Cloud又是基于Spring Boot框架的。因此,在学习Nacos注册业务之前,我们先来回顾一下原创 2021-05-18 19:56:06 · 638 阅读 · 4 评论 -
你也对阅读源码感兴趣,说说我是如何阅读Nacos源码的
前言最近写了一些列的Nacos源码相关文章,很多朋友都感兴趣的在问:你最近在阅读什么源码,如何阅读源码?今天这篇文章就以Nacos源码阅读来展开聊聊。对阅读源码或技术感兴趣的朋友,也可以添加微信交流(微信号:zhuan2quan)。在读这篇文章的时候呢,要看你想获得什么了。因为这篇文章亦是在写如何阅读Nacos源码,也是在写如何阅读源码。不要被技术栈所束缚,要提炼属于自己的方法。看你所欲,取你所需。阅读源码的目的不清楚大家为什么要阅读源码,就聊聊个人阅读源码的目的,或许可以拿来借鉴。学习底层原理与原创 2021-05-11 09:25:24 · 623 阅读 · 1 评论 -
要学习微服务的服务发现?先来了解一些科普知识吧
为什么要使用服务发现功能?当调用REST API 或Thrift API的服务时,我们在构建请求时通常需要知道服务实例的IP和端口。在传统应用中,服务实例的地址信息相对固定,可以从配置文件中读取。而这些地址也只是只会偶尔更新。但在现代应用程序中,往往是基于云的微服务架构,此时获取服务实例的IP和端口便是一个需要解决的难题。如下图所示:上图中,服务实例实例的IP是动态分配。同时,还面临着服务的增减、故障以及升级等变化。这对于客户端程序来说,就需要使用更精确的服务发现机制。目前,服务发现模式主要有两种原创 2021-05-09 11:05:05 · 491 阅读 · 2 评论 -
微服务的灵魂摆渡者——Nacos,来一篇原理全攻略
前言Nacos在微服务系统的服务注册和发现领域,势头迅猛是肉眼可见的。在微服务系统中,服务的注册和发现又是一个灵魂的存在。没有注册中心的存在,成百上千服务之间的调用复杂度不可想象。如果你计划或已经在使用Nacos了,但仅停留在使用层面,那这篇文章值得你一读。本文我们先从服务发现机制说起,然后讲解Nacos的基本介绍、实现原理、架构等,真正做到深入浅出的了解Nacos。服务注册与发现说起Nacos,不得不先聊聊微服务架构中的服务发现。关于服务发现其实已经在《要学习微服务的服务发现?先来了解一些科普知原创 2021-05-09 10:42:44 · 4456 阅读 · 0 评论