- 博客(62)
- 收藏
- 关注
原创 出现了一个全新的编程语言——Mojo
Mojo是一种新推出的编程语言,它将Python的简单性与Rust的速度和内存安全性结合在一起。它处于开发的早期阶段,为用户提供了一个在线游乐场来探索其功能。Mojo致力于在数据科学和机器学习领域取得卓越成就,提供Python的快速替代方案。与Python相比,Mojo的速度显着提高,比PyPy快22倍,比标量C++快5000倍。它通过使用多级中间表示(MLIR)无缝扩展硬件类型而不引入复杂性来实现这一目标。Mojo使用LLVM工具链编译为机器代码,通过使用Mojo特定的功能提供更好的性能。
2023-10-24 21:17:12 507
原创 分布式事务Seata
XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。在分布式系统中,系统间的网络不能100%保证健康,一定会有故障的时候,而服务有必须对外保证服务。此时数据库再次恢复为100。但是当我们把三件事情看做一个"业务",要满足保证“业务”的原子性,要么所有操作全部成功,要么全部失败,不允许出现部分成功部分失败的现象,这就是。
2023-09-17 20:56:50 1048
原创 初识Sentinel
什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。Sentinel 具有以下特征:•丰富的应用场景。
2023-09-05 10:22:09 1985
原创 RabbitMQ
建立connection创建channel利用channel声明队列利用channel向队列发送消息建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列。
2023-06-23 22:32:11 1574
原创 面试二(redis)
redis常用数据结构redis的持久化机制有哪些?redis的高可用方案分片集群模式redis的高可用方案哨兵哨兵模式redis的高可用方案主从模式介绍redis key的删除策略?redis 缓存淘汰策略?Redisson实现分布式锁的原理?是否了解缓存穿透是否了解缓存雪崩?雪崩问题,可以分情况进行解决:是否了解缓存击穿?redis为什么被设计成单线程?redis为什么那么快?redis的脑裂问题是什么?如何解决?
2023-06-21 21:32:23 943
原创 Docker实用篇
微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。
2023-06-13 23:39:09 1324
原创 Nacos配置管理、配置热更新、配置共享和搭建nacos集群
{spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}作为文件id,来读取配置。微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。
2023-05-09 23:44:17 3335 3
原创 Ribbon负载均衡
SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。用一幅图来总结一下:拦截我们的RestTemplate请求RibbonLoadBalancerClient会从请求url中获取服务名称,也就是user-serviceDynamicServerListLoadBalancer根据user-service到eureka拉取服务列表eureka返回列表,localhost:8081、localhost:8082。
2023-05-09 22:43:12 1113 2
原创 SpringCloud —— eureka
单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件。
2023-05-09 22:42:23 1583
原创 面试(一)
MVCC是多版本并发控制 Multi-Version Concurrent Contrl。多版本意思是指数据库中一条数据有多个版本同时存在,在某个事务对其进行具体操作的时候,是需要查看这一条记录的隐藏列事务版本的id,比对事务id并根据事物的隔离级别从而去判断是哪个版本的数据。准确的说,MVCC多版本并发控制指的是“维持一个数据的多个版本,使得读写操作没有冲突”这么一个概念。
2023-04-27 00:40:13 1745
原创 第29天 三方集成自动配置
在SpringBoot的项目中,一般会将这些公共组件封装为SpringBoot 的 starter,再上传到公司的私服中。起步依赖本质上是一个Maven项目对象模型,定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。但是直接使用Spring框架进行集成开发比较繁琐,入门难度很大,所以在现在的企业开发中,都是直接基于Springboot进行开发,简单、快捷、高效,而且spring官方也是建议直接从springboot开始。注意: 上述顺序,是加载顺序,如果属性名相同,后加载的会覆盖先加载的。
2023-04-08 18:08:07 567
原创 第二十七天 SpringBootWeb(三)登录认证(JWT令牌,过滤器拦截器)
完善前一天 登录校验(过滤器Filter 拦截器Interceptor) 全局异常处理
2023-04-02 12:13:22 1333 1
原创 黑马day08map-stream-File-IOapp
Map(HashMap,LinkedHashMap,TreeMap) JDK8新特性:Stream 前置知识:方法递归 File、IO流(一)
2023-03-04 19:49:15 374
原创 黑马day07-Set集合、Map集合
Set系列集合特点 HashSet集合的底层原理 了解一下数据结构(树){普通二叉树,二叉查找树,平衡二叉树, 红黑树} 深入理解HashSet集合的去重机制 LinkedHashSet底层原理 TreeSet 注意事项:集合的并发修改异常问题 Collection类的其他相关知识 Map集合
2023-03-03 18:13:51 772
前端HTML CSS JS VUE AJAX AXIOS技术人喜欢用的VSCode软件
2023-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人