- 博客(112)
- 资源 (4)
- 收藏
- 关注
原创 数据中心双活架构解决方案
数据中心双活架构(Active-Active Data Center)旨在实现业务高可用、负载均衡和灾难自动切换。以下是完整的解决方案,涵盖架构设计、关键技术、实施步骤及最佳实践。企业应根据业务需求选择同城双活(强一致)或异地多活(最终一致),并通过混沌工程验证可靠性。
2025-05-29 17:05:52
1080
原创 34岁了根本找不到工作。。。
这个就业市场环境真的太烂了。找工作真的太难了,给个工作让我干多两三年吧,到那时候就不跟你们卷了,现在我真的太需要一份工作了。
2024-12-11 15:36:40
147
原创 进程和线程的区别(超详细)
线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;
2023-06-08 14:54:04
113
原创 MySQL集群架构
综上所述,在我们项目初期数据量小的时候,MySQL可以简单搭建一个主从模式,当随着业务量增长,再逐渐改进为MMM架构、MHA架构等。
2023-03-15 11:09:40
164
原创 Redis 分布式锁的正确实现方式
文章目录前言可靠性代码实现组件依赖加锁代码正确姿势错误示例1错误示例2解锁代码正确姿势错误示例1错误示例2总结前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同
2021-11-20 18:08:18
48
1
原创 一个用消息队列 的人,不知道为啥用 MQ,这就有点尴尬
文章目录为什么写这篇文章?复习要点正文1、为什么要使用消息队列?2、使用了消息队列会有什么缺点?3、消息队列如何选型?4、如何保证消息队列是高可用的?5、如何保证消息不被重复消费?6、如何保证消费的可靠性传输?7、如何保证消息的顺序性?总结为什么写这篇文章?博主有两位朋友分别是小A和小B:小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线。
2021-11-20 17:29:10
39
原创 MQ - RabbitMQ - 架构及工作原理
文章目录1.系统架构2.任务分发机制2.1Round-robin dispathching循环分发2.2Message acknowledgment消息确认3.Message durability消息持久化4.Fair dispath 公平分发5.分发到多个Consumer5.1Exchange5.2 Bindings 绑定5.3Direct exchange5.4 Multiple bindings5.5 Topic exchange6.消息序列化7. 工作原理3.2 消息是怎么投递的?(记住一点,生产
2021-11-16 18:40:02
164
1
原创 Nginx 反向代理原理和配置讲解
文章目录一、概述二 、反向代理服务器的工作原理1、作内容服务器的替身2、作为内容服务器的负载均衡器一、概述反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。Nginx反向代理为什么可以优化服务器的性能?因为Nginx可以在request读取完整请求前,buffer住(缓冲),然后一起发给服务器。因为有时候会出现卡顿现象
2021-11-15 18:45:45
57
原创 Elasticsearch 搜索引擎基本介绍
简介ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。同时ES还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。ES就是为高可用和可扩展而生的。一方面可以通过升级硬件来完成系统扩展,称为垂直或向上扩展(Vertical Scale/Scaling Up)。另一方面,增加更多
2021-11-15 18:03:58
107
1
原创 SkyWalking 全链路追踪工具-使用入门
文章目录前言SkyWalking简介架构入门使用1、下载2、配置探针3、配置参数到需要监控的应用4、配置skyWalking5、启动skyWalking6、查看服务7、sw-web界面不显示数据探针技术1、javaAgent介绍2、javaAgent使用前言随着业务越来越复杂,企业应用也进入了分布式服务的阶段,传统的日志监控等方式无法很好达到跟踪调用,排查问题等需求。这是客套话,我们最常见的痛点便是性能优化,在优化时需要找到有问题的代码,以前介绍过使用Arthas排查问题或查找耗时代码,但是该工具毕竟是
2021-11-12 17:26:44
3444
原创 SOA架构和微服务架构的区别
1.SOA架构和微服务架构的区别首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。1.SOA(Service Oriented Architecture)“面向服务的架构”:他是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务 通常以独立的形式存在与操作系统进程中。各个服务之间 通过网络调用。2.微服务架构:其实和 SOA 架构类似,微服务是在 SOA 上做的升华,微服务架构强调的一
2021-11-12 16:06:39
1253
原创 分布式架构概述及设计
引言随着越来越多的人参与到互联网的浪潮来,曾经的单体应用架构越来越无法满足需求,所以,分布式集群架构出现,也因此,分布式搭建开发成为了Web开发者必掌握的技能之一。那什么是分布式呢?怎么实现分布式以及怎么处理分布式带来的问题呢?本系列文章就来源于对分布式各组件系统的学习总结,包含但不限于Zookeeper、Dubbo、消息队列(ActiveMQ、Kafka、RabbitMQ)、Nosql(Redis、MongoDB)、Niginx、分库分表MyCat、Netty等内容。作为跟大多数人一样的学习使用者,而非
2021-11-12 15:15:35
335
原创 Spring Cloud Hystrix 设计原理
文章目录0. Hystrix是什么?1. Hystrix模型基础2. Hystrix工作原理2.1 创建HystrixCommand 或者HystrixObservableCommand2.2. 执行命令2.3. 返回结果是否被缓存?2.4. 断路器是否打开?2.5. 资源(线程池/队列/信号量)是否已满?2.6. 执行 HystrixObservableCommand.construct() 或者 HystrixCommand.run()2.7. 计算断路器的健康状况2.8. 获取Fallback2.9.
2021-11-11 21:02:42
48
1
原创 Spring Cloud Ribbon 实现原理
文章目录一、ribbon 负载均衡原理二、核心原理拦截器三、代码的实现过程四、源代码五、ribbon的负载均衡算法六、ribbon 负载算法代码配置一、ribbon 负载均衡原理1.客户端负载均衡,通过LoadBalancerclient来实现,ILoadBalancer 通过配置IRule 和IPin 来实现2.ILoadBalancer 通过每10s 获取一次Eureka 注册地址,获取到注册列表后按照IRule 注册规则进行负载均衡二、核心原理拦截器1.ribbon 的核心其实就是代理,
2021-11-11 20:15:11
34
1
原创 Spring Cloud Feign 设计原理
文章目录什么是Feign?Feign解决了什么问题?Feign是如何设计的?Feign 的性能怎么样?什么是Feign?Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。Feign被广泛应用在Spring Cloud 的解决方案中
2021-11-08 18:48:20
114
1
原创 Spring Cloud Eureka 原理解析
文章目录Eureka总体架构组件调用关系服务提供者服务消费者注册中心数据存储结构数据存储层二级缓存层删除二级缓存:加载二级缓存:更新一级缓存:微服务架构中最核心的部分是服务治理,服务治理最基础的组件是注册中心。随着微服务架构的发展,出现了很多微服务架构的解决方案,其中包括我们熟知的Dubbo和Spring Cloud。关于注册中心的解决方案,dubbo支持了Zookeeper、Redis、Multicast和Simple,官方推荐Zookeeper。Spring Cloud支持了Zookeeper、Co
2021-11-05 16:40:13
54
1
dubbo注册中心 zookeeper-3.4.8
2017-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人