- 博客(24)
- 收藏
- 关注
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师(SpringCloud-gateway基本概念)
API网关的作用1.根据API进行路由转发2.通用(公共)能力的实现,比如:认证鉴权、日志、安全、限流、协议转换、应用审计等SpringCloud Gateway核心概念1.路由:包含了请求的匹配规则和路由的目标等相关信息的集合2.断言:定义了请求如何匹配路由的规则3.过滤器:对请求和响应进行拦截。
2023-10-12 17:33:16
148
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师(SpringCloudAlibaba-nacos热部署及灰度发布)
什么是配置热更新1.外部配置中心配置项发生变化时,应用端在无需重启应用的情况下能自动同步最新配置数据。Nacos支持如下热更新的方式1.Environment对象自动更新2.@ConfigurationProperties注解自动更新3.@Value注解+@RefreshScope注解自动更新Nacos支持配置的灰度的维度是:以应用IP为维度。
2023-10-12 16:41:46
386
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师(SpringCloudAlibaba-nacos作为配置托管中心)
Nacos 融合 Spring Cloud,成为注册配置中心2,或者参照课前资料一步步完成即可托管到nacos server侧的配置都有一个唯一的key:namespace/group/dataId ,接下来就是在应用端配置自己应用要读取的配置dataId ,nacos的SDK根据该 dataId 去nacos server 获取配置一个配置文件内容,而 dataId 的组成是。
2023-10-12 16:23:44
115
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师(SpringCloudAlibaba-基本概念)
目录1 Nacos简介1.1 Nacos 的关键特性1.2 NACOS的架构1.3 NACOS的数据模型2 总结:1.Nacos(Dynamic Naming and Configuration Service): 是个易于构建云原生应用的动态服务发现、配置管理和服务管理平台2.Nacos 致力于发现、配置和管理微服务 快速实现动态服务发现、服务配置、服务元数据及流量管理3.服务(Service)是 Nacos 世界的一等公民,支持几乎所有主流类型“服 务”的发现、配置
2023-10-12 16:05:51
88
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师(nginx基本概念介绍)
要学会nginx基本概念必须要了解,否则学到一些高级特性很吃力,大家有什么不明白的可以自行baidu或者私信,后面给大家介绍其他特性。
2023-09-26 10:48:27
86
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-RPC(RPC框架中的常见高级特性)
用户发起请求到达客户端,同一个接口的提供者有3个,当客户端向服务端发起请求时,客户端的请求超时时间阀门时5秒钟,当客户端向服务端发起请求超过了5秒钟服务端没有响应,请求超时了客户端发起重试客户端设置了容错策略,超时重试,优先重试其他提供者,如果服务端没有集群那就只能再次重试该提供者。有了熔断,降级为何还要限流?实际生产环境中,服务发生的一系列问题很大可能是由于访问量过大而引起的,这就需要业务提供方能够进行自我保护,从而保证在高访问量、高并发的场景下,系统依然能够稳定,高效运行。
2023-09-23 18:13:16
116
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-RPC(RPC框架中的序列化技术)
将对象的类型、属性类型、属性值一一按照序固定的格式写到二进制字节流中来完成序列化,一个字节相当于8个二进制数再按照序列化协议规范一一读出对象的类型、属性类型、属性值,通过这些信息重新创建出一个新的对象,来完成反序列化。同样一个对象,序列化框架A序列化数据后产生70个字节的数据,而序列化框架B序列化完数据产生50个字节的数据,数据是要在网络中传输中,而网络传输数据是要耗费网络宽带,因此数据量越大越会耗费网络带宽传输的就越慢。字节流是由连续的字节组成的数据流,其中每个字节都是由 8个二进制位组成的。
2023-09-07 15:10:32
131
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-RPC(RPC框架中的动态代理技术)
1,ASM:可直接对字节码文件进行修改,也可生成字节码,开发者要掌握字节码结构以及更为底层的指令2,cglib:基于ASM,Spring AOP也可以使用它,其原理是动态生成一个要代理类的子类看官方文档介绍可以很快的上手官方文档介绍 helloword案例,增强字节码时直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构或者动态生成类动态代理在rpc中很大的作用就是屏蔽,向上屏蔽底层的细节,让上层开发者只需要调接口方法即可。
2023-08-30 18:11:38
205
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-RPC(RPC框架中zookeeper实现原理)
基于zk注册的核心原理:key-value,临时节点节点watch机制dubbo在zk中注册的数据模型:/dubbo/接口/providers/**
2023-08-25 13:11:22
146
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-RPC(RPC中的高级特性相关概念)
作为RPC框架的设计者,以上因素都是我们要充分考虑的功能点。
2023-08-25 10:37:02
93
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-RPC(RPC的基本概念)
可以理解为RPC就是远程过程调用,定义了一台计算机上的程序去调用另一台计算机上子程序的这一行为在下一章节中为大家介绍,rpc中设计的关键技术点。
2023-08-03 12:06:37
76
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-网络IO(同步非阻塞IO-IO多路复用poll模型-epoll模型)
poll 调用 和 select 调用基本差不多,是对select的改进,理论上可监听的fd没有select那样的数量限制并且在遍历上时间复杂度更低,更高效。本章主要将讲解 epoll模型 epoll模型为poll模型的进化版,如果有对poll模型感兴趣的可以自行去研究这里给大家提供一个帮助文档1,服务端首先创建socket套接字返回socker的标识2,调用bind方法将我们的socket与应用程序9999端口进行绑定,表示该scoket属于9999端口的可指定。
2023-07-13 18:40:43
58
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-网络IO(同步非阻塞IO-IO多路复用select模型)
IO多路复用模型是一类IO模型的统称,在这一类模型下有不同的系统函数来帮助我们解决相应的问题有select模型,poll模型,epoll模型等等。1,服务端首先创建socket套接字返回socker的标识2,调用bind方法将我们的socket与应用程序9999端口进行绑定,表示该scoket属于9999端口的可指定。
2023-07-13 18:18:11
60
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-网络IO(同步非阻塞IO)
阻塞是由于socket文件的状态标识 默认是阻塞的,通过函数进行查看函数 man 2 recvfrom 进一步查看该函数的描述DESCRIPTION,在该函数中告诉我们查看fcntl 函数,我们进一步查看fcntl 函数 man 2 fcntl 查看该函数的DESCRIPTION,其中有一段是描述文件状态标志的fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0 将socket设置为非阻塞通过给fcntl函数传递参数来指定该socket为非阻塞的socket。
2023-06-30 18:20:45
58
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-网络IO(同步阻塞IO)
我们的应用程序是不能直接操作计算机的需要通过内核来进行中转由内核向上提供api,我们应用程序调用从而达到中转的效果我们的应用程序刚开始启动的时候就是一个进程,进程的话操作系统就会为我们的进程分配空间和相应的资源以内存资源为例,操作系统为我们分配的内存空间,内存空间分为两部分一个是内核缓冲区空间,一个是用户空间,内核缓冲区空间用于存储内核给我们处理任务所产生的任务数据,用户空间就是应用程序占用的空间,比如我们启动一个jvm,就会在用户空间中开辟相应的堆栈信息。
2023-06-26 18:24:45
161
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师前置-网络编程基本概念UPD及站在操作系统的视角看网络编程
本章主要讲解网络编程的基本概念及UDP协议及操作系统的视角看网络编程tcp协议在下一个章节中介绍。
2023-05-31 18:44:21
79
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师前置-docker篇章
1,1 容器化技术概述容器化就是将应用程序及其所需要的依赖及配置等进行打包到一起运行,使其多个应用间相互进行隔离沙箱的理解沙箱技术就是,将应用包一层容器,容器就相当于沙箱,在容器里做任何操作都不会影响宿主机,将应用进行单独隔离容器相比虚拟机的隔离性要差一点,虚拟机相当于全虚拟化,而容器时轻量级的虚拟化技术容器中的数据1,存储在容器中,容器在创建的时候会有自己的读写层,2,通过挂载路径存储到物理机中,容器可以去宿主机打通。
2023-05-22 18:01:44
108
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-SpringCloud篇章
springCloud是微服务的一种架构体系(理念),在微服务或分布式的架构场景下,需要解决的一系列问题的解决方案。而一系列的解决方案组成到一起就形成了springCloud全家桶可以理解为SpringCloud是实现微服务架构的有序集合。1.1,SpringCloud架构。
2023-05-17 10:52:21
173
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-前置dubbo入门和功能的使用
Apache Dubbo 是一款易用的、提供高性能通信和服务治理能力的微服务开发框架提供构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、"Dubbo3" 已在阿里巴巴内部微服务集群全面落地,成功取代运行多年的 HSF 框架。3.x版本融入云原生目前市面上dubbo2.7版本用的最多dubbo是一款基于接口的服务调用框架3.1 启动时检查消费者启动时会去订阅注册中心所有注册的接口然后会根据我们配置的注解去注册中心去获取相应的服务信息3.2 集群容错例如。
2023-05-09 10:54:02
186
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-前置zookeeper简介与原理
本章以zookeeper的理解及基本使用两方面进行介绍。
2023-04-29 10:40:06
192
1
原创 {博学谷学习记录} 超强总结,用心分享|狂野架构师-前置互联网架构演变过程
java web应⽤层连接多个数据库,数据库之间形成主从关系,主库上写,从库上读。java web项⽬直接通过jdbc,连接单⼀的数据库,读写扎堆在⼀块,单库上的机器io及cpu性能很快达到上限。分库:不同的数据库,所以⽆法使⽤数据库事务,⽽分布式事务的效果并不理想,多采⽤幂等和最终⼀致性⽅案。以电商为例,可能按B2B,B2C,C2C不断扩张,每个业务⼀套系统,每个系统⼀个维护团队。分表:拆了再聚合是⼀对⽭盾,例如按下单时间维度的分表,需要按⽤户排序统计变得异常困难。团队跟随项⽬疯狂扩展,利⽤率低。
2023-04-22 12:19:38
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人