- 博客(19)
- 收藏
- 关注
原创 docker学习笔记-初步接触
菜鸟教程《Docker教程》是这样说的:Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
2025-01-09 17:41:30
1173
原创 Kafka从0到1精通
Kafka 是由Linkedin公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。
2024-12-16 16:46:37
1052
原创 微服务架构之旅-xxl-job任务触发流程
xxl-job老版本是依赖quartz的定时任务触发,在v2.1.0版本开始 移除quartz依赖:一方面是为了精简系统降低冗余依赖,另一方面是为了提供系统的可控度与稳定性。(本文 相应代码版本 2.2.0-SNAPSHOT)以下是本文的目录大纲:一.任务触发执行总体流程二.任务定时触发流程三.关于这么设计的感悟。
2024-12-13 17:16:30
1100
原创 微服务架构之旅-Seata分布式事务
Seata(Simple Extensible Autonomous Transaction Architecture,简单可扩展自治事务框架)是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。Seata 开源半年左右,目前已经有超过 1.1 万 star,社区非常活跃。我们热忱欢迎大家参与到 Seata 社区建设中,一同将 Seata 打造成开源分布式事务标杆产品。Seata 中有三大模块,分别是 TM、RM 和 TC。
2024-12-13 09:14:55
915
原创 微服务架构之旅-负载均衡(eureka原理、Ribbon负载均衡)
order-service发送的请求会被拦截器拦住(loaderBalancerInterceptor负载均衡拦截器)揽下来以后会得到请求中的名称。写一个bean的注入,RestTemperate类的返回值的创建restTemplate的类并注入spring容器。user-service对外提供了用户查询的接口,很显然是服务的提供者而order-service调用了user-service所以是服务的消费者。会拦截由客户端发送的http请求 ,RestTemplate正是一个发http请求的客户端。
2024-12-12 09:19:47
786
原创 微服务架构之旅-并发访问
但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。什么是服务雪崩:由于服务与服务之间的依赖性,当高并发访问造成故障后,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩效应”。总的来说,并发更多地强调任务之间的交替执行,而并行更多地强调任务的同时执行。在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用。1. 什么是并发,并行。
2024-12-11 14:33:06
595
原创 微服务架构之旅-链路追踪
概念:zipkin是Twitter基于google的分布式监控系统Dapper(论文)的开发源实现,zipkin用于跟踪分布式服务之间的应用数据链路,分析处理延时,帮助我们改进系统的性能和定位故障。下载Zipkin的jar包,在官网可以下载.通过命令行,输入下面的命令启动ZipKin Server访问http://localhost:9411。
2024-12-11 10:46:11
1351
原创 微服务架构之旅-消息队列的应用
例如,当应用日志用于离线日志分析时,搜索单个日志记录同样不可或缺,而构建各自独立的工作流来采集每种类型的数据再导入到各自的专用系统显然不切实际,利用消息队列 Kafka 作为数据中转枢纽,同份数据可以被导入到不同专用系统中。笔者曾服务于神州专车订单团队,在订单的载客生命周期里,订单的修改操作先修改订单缓存,然后发送消息到 MetaQ ,订单落盘服务消费消息,并判断订单信息是否正常(比如有无乱序),若订单数据无误,则存储到数据库中。但用户中心是核心系统。假如每个应用都去修改订单主表的信息,那就会相当混乱了。
2024-12-09 09:20:26
1134
原创 微服务架构之旅-Sentinel 微服务保护详细解说
Context 代表调用链路上下文,贯穿一次调用链路中的所有资源(Entry),基于ThreadLocalContext 维持着入口节点()、本次调用链路的 curNode(当前资源节点)、调用来源(origin)等信息后续的Slot都可以通过Context拿到DefaultNode或者ClusterNode,从而获取统计数据,完成规则判断Context初始化的过程中,会创建EntranceNode,contextName就是EntranceNode的名称Context的初始化。
2024-11-08 16:26:09
1377
1
原创 Spring Cloud OpenFeign远程调用详细解说
OpenFeign是一个声明式的http客户端,是Spring Cloud在Eureka公司开源的Feign基础上改造而来的,主要作用就是基于注解发送HTTP请求Features: Declarative REST Client(声明式客户端): Feign creates a dynamic implementation of an interface decorated with JAX-RS or Spring MVC annotationsJAX-RS(JavaApi eXR。
2024-11-07 09:22:54
1177
原创 Nacos 服务注册与发现
Nacos的两个重要功能:服务发现与配置管理云原生:微服务 + DevOps + CI/CD + 容器化Nacos架构:Nacos client:Java语言编写的客户端sidecar:多语言异构模块,通过这个模块可以让其他语言使用nacosName Server:命名服务,支持的服务:dns、vip、address-serverOpenAPI:客户端(Provider/Consumer)通过API接口就可以访问服务端(Nacos)的(服务发现)和。
2024-11-06 21:22:44
1474
原创 初识微服务
微服务是一种软件架构风格,以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用基于单体项目:黑马商城 演示单体架构到微服务架构的演变过程,分析其中存在的问题,以及微服务技术如何解决这些问题。每一个微服务技术都是在解决服务化过程中产生的问题。单体架构(Monolithic Structure):整个项目的所有模块在一个工程中开发,项目部署时所有模块一同编译、打包。项目的架构设计、开发模式都很简单。团队协作成本高。
2024-11-05 21:06:00
878
原创 Redis持久化详细解说
现在大家都习惯与用Redis作为缓存系统,并且在其中放入常用的热点数据,从而减少直接对数据库访问的操作。Redis 持久化就是将 Redis 内存数据永久存储到磁盘中的操作Redis提供的两种持久化方式在不同间隔时间点将 Redis 内存数据生成快照并存储到磁盘中(存储数据)记录Redis执行过的所有写指令(存储指令)
2024-11-05 09:22:03
799
原创 一篇文章带你完全理解Redis缓存穿透、击穿和雪崩
上面的内容中若是不小心,很容易就会搞混淆。比如名字上很难区分穿透和击穿,概念上击穿和雪崩又有点相似。首先是穿透和击穿,我们从直觉上来说,击穿是不是比穿透跟尖锐一点没错,你的感觉是对的。我很喜欢举个例子:你走在路上,遇到一个人对你突然无理取闹。你只是会觉得这人神经病吧?!但是你对于他这种”无理的语言“,左耳朵进,右耳朵出,他的话只是穿过你的耳朵。结合上述穿透的例子,有感觉没?但是如果你走在路上,有人对你的眼睛扔了个小石头。如果你平时戴眼镜,用的力气大一点就会击穿你的眼镜玻璃...
2024-10-31 09:34:03
832
原创 MyBatis快速入门(百分百看懂 超详细)
MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和ava的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。MyBatis是一个半自动的ORM(Object Relation Mapping)框架。
2024-10-29 18:50:36
587
原创 Maven的settings配置文件中对服务器密码进行加密
在Maven中采用了双密码策略,有一个主密码以及一个服务器密码,这两个密码都是进行加密的,Maven会使用主密码去解密服务器密码,然后才能下载依赖包。主密码可以存储到其他文件中,当然也可以存储到U盘等移动介质中,这样只有得到U盘等移动介质的人才能访问私服。
2024-10-29 08:45:36
636
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人