47-微服务技术栈(高级):分布式协调服务zookeeper源码篇(Watcher机制-2[WatchManager])
前面已经分析了Watcher机制中的第一部分,即在org.apache.zookeeper下的相关类,接着来分析org.apache.zookeeper.server下的WatchManager类。
42-微服务技术栈(高级):分布式搜索引擎ElasticSearch(集群搭建与脑裂问题解决)
单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。 ● 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点 ● 单点故障问题:将分片数据在不同节点备份(replica ) 本节笔者将带领大家完成ES的集群搭建,同时解决集群中出现的脑裂问题。
28-微服务技术栈(高级):CAP定理和Base理论
在分布式架构系统中,服务不止一个,一个完整的业务链路肯定也不止调用一个服务,此时每个服务都有自己的数据库增删改查,而每一个写操作对应一个本地事务。如果想要确保全部的业务状态一致,也就意味着需要所有的本地事务状态一致,这在我们之前的学习中肯定是不具备的,如何做到跨服务、跨数据源的事务一致性将是本章节的重点学习内容。
25-微服务技术栈(高级):Redis持久化
作为分布式系统中,必不可少的非结构化存储中间件,Redis在小型、中型、大型乃至高并发系统中均有自己发挥的场合,除了基础数据结构(String/Hash/Set/ZSet/List)的增删改查操作,在真正的生产环境中我们如何避免数据的丢失?如何避免单点的性能瓶颈?如何搭建合适的集群架构? 本节笔者将从数据的持久化、多种集群结构搭建去解决不同的应用场景,以满足读者朋友们生产环境下的种种问题,最终实现Redis技术中间件的优雅落地。
20-微服务技术栈(高级):MQ死信队列&TTL&延迟队列
消息中间件,作为分布式系统中必不可少的一部分,在前面我们学习过其基本的消息发送、消费,但是读者朋友们肯定也知道,真正的生产环境可不是简单的发送消息这么简单。如何避免消息丢失?如何满足特殊场景下的消息延迟消费?如何解决消费能力不足?如何搭建集群?等等 本节笔者将从消息的可靠性出发,解决消息不丢失的问题。同时借助TTL实现延迟消息,惰性队列解决消息堆积问题,最后完成集群搭建以实现生产环境真正的高可用。
19-微服务技术栈(高级):MQ消息可靠性
消息中间件,作为分布式系统中必不可少的一部分,在前面我们学习过其基本的消息发送、消费(跳转链接),但是读者朋友们肯定也知道,真正的生产环境可不是简单的发送消息这么简单。如何避免消息丢失?如何满足特殊场景下的消息延迟消费?如何解决消费能力不足?如何搭建集群?等等 本节笔者将从消息的可靠性出发,解决消息不丢失的问题。同时借助TTL实现延迟消息,惰性队列解决消息堆积问题,最后完成集群搭建以实现生产环境真正的高可用。
架构解密从分布式到微服务:分布式系统的设计理念
分布式系统从诞生到现在已经有几十个年头了,其中伴随着一些很重要的基础理论,正是这些影响深远的基础理论,奠定了分布式系统的坚实基础,造就了分布式领域的一座座宏伟大厦。为了练就一身武功,让我们从这些经典的分布式理论开始学起吧。
11-微服务技术栈(基础):Gateway服务网关
微服务中另一重要组件:网关 进行了实战性演练,网关作为分布式架构中的重要中间件,不仅承担着路由分发(重点关注Path规则配置),同时可根据自身负载均衡策略,对多个注册服务实例进行均衡调用。本节我们借助GateWay实现的网关只是技术实现的方案之一,后续大家可能会接触像:Zuul、Kong等,其实现细节或有差异,但整体目标是一致的。
分布式系统开发实战:微服务架构,实战:基于CQRS微服务通信
Axon Framework是一个适用于Java的、基于事件驱动的轻量级CQRS框架,既支持直接持久化Aggregate状态,也支持采用EventSourcing。
09-微服务技术栈(基础):Nacos配置中心
上一节我们借助于Nacos实现注册中心,完美替换了Eureka在项目之初的功能,开始本章节之前我们一起回忆下Nacos实现注册中心的关键步骤 1. 引入springcloud-alibaba/nacos-discovery依赖 2. 去除原eureka依赖、去除配置文件中eureka注册信息 3. 新增nacos注册信息:spring.cloud.nacos.server-addr:localhost:8848 4. 重启项目并验证 在此基础之上我们验证了Nacos的负载均衡策略、权重控制、环境隔离等信息,希望大家还能有点印象。
07-微服务技术栈(扩展):什么是RESTful
对于http接口的调用,其历程经历过原始servlet,到后面的struts,SpringMVC,对于后端的参数封装也逐渐从单个属性演变成对象封装,那么什么是RESTful,工作中又如何使用呢?
06-微服务技术栈(基础):Nacos注册中心
本节从Nacos安装、运行到具体规则配置,带领读者们深度参与了Nacos日常使用场景,Nacos作为注册中心可以优雅替换Eureka也离不开SpringCloud Alibaba的开源贡献。作为国内主流的配置、注册中心,Nacos在国内多数微服务公司都有使用,感兴趣的可以阅读一下本节推荐资料,笔者整理归纳在本文第8章节。
阿里云微服务引擎 2023 2月份产品动态
微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
基于常见组件微服务场景实战:如何对几十个后台服务进行高效管理
基于常见组件的微服务场景实战,注册发现 下面开始微服务相关内容的讲解。在这一部分中,仍然从最基础的场景入手,然后再逐步展开说明,帮助大家快速掌握一些微服务组件的实现原理,最终理解微服务架构的本质。
微服务进阶场景实战:BFF,如何缓解服务依赖复杂度的问题?
前面处理了服务间数据依赖的场景。 除了这种频繁需要其他服务的数据的场景,其实还会碰到服务间依赖太杂乱的问题。 本篇讨论的就是如何缓解服务依赖复杂度的问题。 先把整个业务场景描述一下。
SpringCloud学习(十二):Hystrix支付微服务构建
Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(3): 消息读写队列,消息存储,消息发送,消息消费关联流程和原理
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(3): 消息读写队列,消息存储,消息发送,消息消费关联流程和原理
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(九)文件服务篇(2):集成minio文件服务
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(九)文件服务篇(2):集成minio文件服务
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(八)saas平台篇-解决不同租户针定制化开发问题(3) -oauth2 登陆源码分析以及扩展添加tenantId属性
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(八)saas平台篇-解决不同租户针定制化开发问题(3) -oauth2 登陆源码分析以及扩展添加tenantId属性
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(七) 开发环境使用轻量级在线文档解决知识分享问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(七) 开发环境使用轻量级在线文档解决知识分享问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(一) (mini-cloud) 整体架构图
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(一) (mini-cloud) 整体架构图
《spring cloud微服务架构设计与开发实践》电子版地址
通过本书你可以学习到:1.一线互联网公司微服务架构体系2.解决实战服务治理、熔断限流等核心问题3.Spring Cloud Alibaba 体系
基于jib-maven-plugin快速构建微服务docker镜像
本文介绍基于 Maven 插件 jib-maven-plugin 实现快速构建 Spring Boot 程序镜像,并推送到远程仓库中,且无需安装 Docker 环境 。
阿里云微服务引擎 MSE 2023年1月份产品动态
微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。
【微服务】springboot怎么注册到Nacos?
动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。
国王小组:数字货币交易所搭建|微服务架构运用理解
核心思想:分而治之,将一个应用拆分成多个松耦合的服务,这些服务之间通过某种协议(REST、RPC等)进行互相协作,其中一个关键点就是各服务之间的松耦合,各服务之间通过一种“标准”的协议进行沟通,不需要理解对方服务的实现逻辑、实现方式,只要在对方不影响自己所提供的服务功能即可。
字节微服务HTTP框架Hertz使用与源码分析|拥抱开源
Hertz是一个 Golang 微服务 HTTP 框架,在设计之初参考了其他开源框架 fasthttp、gin、echo 的优势, 并结合字节跳动内部的需求,使其具有高易用性、高性能等特点。
Spring Cloud 学习笔记01----微服务简介
Spring Cloud 是一个基于Spring Boot实现的微服务架构开发工具。它为微服务架构中设计的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了简单的开发方式。
《spring cloud微服务架构设计与开发实践》电子版地址
通过本书你可以学习到:1.一线互联网公司微服务架构体系2.解决实战服务治理、熔断限流等核心问题3.Spring Cloud Alibaba 体系
2023年,真的需要Thrift这样一个RPC微服务框架来拯救一下传统HTTP接口(api)了
目前市面上类似Django的drf框架基于json的http接口解决方案大行其道,人们也热衷于在接口不多、系统与系统交互较少的情况下使用它,http接口的优点就是简单、直接、开发方便,门槛低,利用现成的http协议进行传输。
【微服务安全】使用 Spring Boot、Kafka、Vault 和 Kubernetes 保护微服务间通信——第 4 部分:构建微服务
【微服务安全】使用 Spring Boot、Kafka、Vault 和 Kubernetes 保护微服务间通信——第 4 部分:构建微服务
你知道微服务架构中的“发件箱模式”吗
微服务架构如今非常的流行,这个架构下可能经常会遇到“双写”的场景。双写是指您的应用程序需要在两个不同的系统中更改数据的情况,比如它需要将数据存储在数据库中并向消息队列发送事件。您需要保证这两个操作都会成功。如果两个操作之一失败,您的系统可能会变得不一致。那针对这样的情况有什么好的方法或者设计保证呢?本文就和大家分享一个“发件箱模式”, 可以很好的避免此类问题。