技术
文章平均质量分 94
HuanLe.
迷茫的计科应届生
展开
-
出现了一个全新的编程语言——Mojo
Mojo是一种新推出的编程语言,它将Python的简单性与Rust的速度和内存安全性结合在一起。它处于开发的早期阶段,为用户提供了一个在线游乐场来探索其功能。Mojo致力于在数据科学和机器学习领域取得卓越成就,提供Python的快速替代方案。与Python相比,Mojo的速度显着提高,比PyPy快22倍,比标量C++快5000倍。它通过使用多级中间表示(MLIR)无缝扩展硬件类型而不引入复杂性来实现这一目标。Mojo使用LLVM工具链编译为机器代码,通过使用Mojo特定的功能提供更好的性能。原创 2023-10-24 21:17:12 · 453 阅读 · 0 评论 -
分布式事务Seata
XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。在分布式系统中,系统间的网络不能100%保证健康,一定会有故障的时候,而服务有必须对外保证服务。此时数据库再次恢复为100。但是当我们把三件事情看做一个"业务",要满足保证“业务”的原子性,要么所有操作全部成功,要么全部失败,不允许出现部分成功部分失败的现象,这就是。原创 2023-09-17 20:56:50 · 376 阅读 · 0 评论 -
初识Sentinel
什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。Sentinel 具有以下特征:•丰富的应用场景。原创 2023-09-05 10:22:09 · 790 阅读 · 0 评论 -
RabbitMQ
建立connection创建channel利用channel声明队列利用channel向队列发送消息建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列。原创 2023-06-23 22:32:11 · 931 阅读 · 0 评论 -
Docker实用篇
微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。原创 2023-06-13 23:39:09 · 886 阅读 · 0 评论 -
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 · 3041 阅读 · 3 评论 -
Nacos注册中心
国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。原创 2023-05-09 22:46:36 · 835 阅读 · 0 评论 -
Ribbon负载均衡
SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。用一幅图来总结一下:拦截我们的RestTemplate请求RibbonLoadBalancerClient会从请求url中获取服务名称,也就是user-serviceDynamicServerListLoadBalancer根据user-service到eureka拉取服务列表eureka返回列表,localhost:8081、localhost:8082。原创 2023-05-09 22:43:12 · 877 阅读 · 2 评论 -
SpringCloud —— eureka
单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件。原创 2023-05-09 22:42:23 · 941 阅读 · 0 评论