随笔分类 - 分布式
Springcloud Alibaba-8-链路追踪
摘要:1. 基本概念 在微服务架构中,一个请求可能需要调用很多个服务,若其中出现了错误很难去定位。 链路追踪,就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。 1.1 常见链路追踪
阅读全文
SpringCloud Alibaba-4-Feign远程调用
摘要:远程调用:在分布式系统中,我们使用springboot创建了各种各样服务,那么这些服务之间如何进行远程调用呢。如:订单微服务怎么去调用商品微服务? Ribbon:是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。 Ribbon支持的负载均衡策略: BestAvaila
阅读全文
kafka使用详解
摘要:#1. 什么是kafka 这个B站学习,先搁置先不学了:https://www.bilibili.com/video/BV1Xy4y1G7zA?p=5&spm_id_from=pageDriver kafka:是一个分布式,支持分区,多副本,基于 zookeeper 协调的分布式发布订阅消息系统。
阅读全文
springboot整合minio
摘要:原文: https://blog.csdn.net/Ting1king/article/details/121973201 http://www.manongjc.com/detail/24-nlqwfvkleeelyvn.html https://www.cnblogs.com/zgwjava/p
阅读全文
SpringCloud Alibaba-6-服务容错
摘要:1. 微服务架构中高并发带来的问题 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用, 但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用。 如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。 1.1
阅读全文
websocket入门与分布式websocket
摘要:#1. websocket整合的几种方式 原文:https://www.cnblogs.com/kiwifly/p/11729304.html https://www.jianshu.com/p/57fbfadacfeb 使用Tomcat的websocket 使用Spring封装的websocket
阅读全文
分布式Session的解决方案
摘要:我们都知道Session在单体项目里面是没有问题的,但是在分布式下就会出现问题。 常见分布式Session的解决方案: 采用无状态服务,抛弃Session。 存入cookie(有安全风险) Session同步,收到Session的服务,第一时间同步给其他服务。实现框架:spring session。
阅读全文
SpringCloud Alibaba-10-分布式事务
摘要:1. 什么是分布式事务 1.1 事务 严格意义上的事务实现应该是具备原子性、一致性、隔离性和持久性,简称 ACID。通俗意义上来说,事务就是为了使得一些更新等操作要么都成功,要么都失败。 原子性(Atomicity):可以理解为一个事务内的所有操作要么都执行,要么都不执行。 一致性(Consiste
阅读全文
mybatis-plus多租户的使用
摘要:#1. 什么是多租户,怎么理解多租户 多租户:多租户技术或称多重租赁技术,简称SaaS,==是一种软件架构技术。==它支持一个实例服务多个用户,每一个用户被称之为租户,==且保证租户间数据隔离,并且保证每个用户的数据对其他租户不可见。==它能给予租户可以对系统进行部分定制的能力,如:用户界面颜色或业
阅读全文
几种常见登录验证的方式总结
摘要:#1. Cookie-Session 认证 早期互联网以 web 为主,客户端是浏览器,所以 Cookie-Session 方式最那时候最常用的方式,直到现在,一些 web 网站依然用这种方式做认证。 ==认证过程大致如下:== 用户输入用户名、密码或者用短信验证码方式登录系统; 服务端验证后,返回
阅读全文
SpringCloud Alibaba-3-注册中心
摘要:1. Nacos简介 Nacos官方网址:https://nacos.io/zh-cn/ Nacos:由Spring Cloud Alibaba 提供的。 Nacos致力于帮助您发现、配置和管理微服务。 Nacos集成了netflix公司的ribbon,支持负载均衡(默认:轮询)。 Nacos支持单
阅读全文
对于分库分表的入门理解
摘要:#1. 什么是分库分表 分库:从单个数据库拆分成多个数据库的过程,将数据散落在多个数据库中。 分表:从单张表拆分成多张表的过程,将数据散落在多张表内。 #2. 为什么要分库分表? 数据库出现性能瓶颈。用大白话来说就是数据库快扛不住了。 数据库出现性能瓶颈,对外表现有几个方面: 大量请求阻塞 在高并发
阅读全文
SpringCloud Alibaba-7-网关
摘要:1. 什么是API网关 API网关:是一个服务器,是系统的唯一入口。同时也可以实现服务的路由、负载均衡、鉴权、限流、熔断等功能。 API网关出现的原因:是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信
阅读全文
RabbitMQ详解
摘要:1. RabbitMQ简介 RabbitMQ是由erlang语言开发,基于AMQP(高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法。 RabbitMQ官方地址:http://www.rabbitmq.com 1.1 什么是消息队列 MQ:全称Message Queue,即消息队
阅读全文
Nginx使用总结
摘要:https://mp.weixin.qq.com/s/DrfdvvMALJfuDYWCyErqbA #1. Nginx是什么 Nginx:是一个高性能的HTTP和反向代理web服务器。 ####1.1 什么是正向代理和反向代理 正向代理:它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端
阅读全文
SpringCloud Alibaba-1-系统架构演变与介绍
摘要:1. 传统单体应用架构 程序在编写完成之后会被打包并部署为一个具体的应用。Java Web项目打包成WAR包,Java项目打包成JAR包。 1.1 集群 随着用户人数的增加,一台机器可能满足不了系统的负载,此时我们就会考虑水平扩展。 什么是水平扩展:面对上述情况,我们通常会增加服务器的数量,并将打包
阅读全文
ElasticSearch入门到筋痛
摘要:1. 什么是ES ES中文网:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html ES:是一款基于Lucene编写的搜索引擎框架,它提供了分布式的全文搜索功能,提供了一个统一的基于RESTful风格的Web接口
阅读全文
数据库,缓存数据一致性常用解决方案总结
摘要:#1. 为什么要使用缓存 使用缓存的好处:减少服务器的压力,数据查询速度快。解决数据响应慢的问题。 #2. 使用缓存的常见场景 轮播图 广告 菜单 ####2.1 是否使用缓存的考量点 项目的读写操作比例为多少,如果是写多读少,那缓存真的不一定能帮助你,此时不妨考虑数据库分库分表,然后做MySQL的
阅读全文