
分布式-微服务核心技术
文章平均质量分 96
程序猿二鍋頭
卷起来!
展开
-
SpringSecurity OAuth2.0认证授权-part3
从0到1构建oauth2 微服务权限认证原创 2022-02-22 14:59:05 · 1066 阅读 · 0 评论 -
SpringSecurity OAuth2.0认证授权-part2
从0到1 搭建Spring Security Oauth2.0原创 2022-02-22 00:25:06 · 692 阅读 · 0 评论 -
SpringSecurity OAuth2.0认证授权-part1
从0到1搭建Spring security Oauth2.0原创 2022-02-22 00:23:51 · 843 阅读 · 0 评论 -
MySQL高级(原理、sql优化及锁)
1.MySQL架构组成1.2 MySQL逻辑架构学习 MySQL 就好比盖房子,如果想把房子盖的特别高,地基一定要稳,基础一定要牢固。学习 MySQL 数据库前要先了解它的体系结构,这是学好 MySQL 数据库的前提。1.2.1 MySQL架构体系介绍MySQL 由连接池、SQL 接口、解析器、优化器、缓存、存储引擎等组成,可以分为四层,即连接层、 服务层、引擎层和文件系统层。MySQL 的基础架构图1. 连接层最上面是一些客户端和连接服务, 不是MySQL特...原创 2021-10-04 20:04:51 · 266 阅读 · 0 评论 -
分库分表技术之ShardingJDBC --- step3
1. ShardingJDBC1.1 分库分表方式回顾1) 分库分表的目的就是将我们的单库的数据控制在合理范围内,从而提高数据库的性能.垂直拆分( 按照结构分 ) 垂直分表: 将一张宽表(字段很多的表), 按照字段的访问频次进行拆分,就是按照表单结构进行 拆 垂直分库: 根据不同的业务,将表进行分类, 拆分到不同的数据库. 这些库可以部署在不同的服 务器,分摊访问压力 水平拆分( 按照数据行分 ) 水平分库: 将一张表的数据 ( 按照数据行) 分到多个不同的数据库.每个库的表结构相原创 2021-09-30 08:35:00 · 1091 阅读 · 0 评论 -
分库分表技术之MyCat(读写分离 & Mysql主从复制) --- step2
lower_case_table_names=1log-bin=mysql-binserver-id=1binlog-do-db=testbinlog_ignore_db=mysql接着上一篇文章继续::::分库分表技术之MyCat(实战水平分库) --- step1_程序猿二鍋頭的博客-优快云博客1 MyCat读写分离1.1 什么是读写分离在实际的生产环境中, 数据的读写操作如果都在同一个数据库服务器中进行, 当遇到大量的并发读或 者写操作的时候,是没有办法满...原创 2021-09-29 00:36:24 · 332 阅读 · 0 评论 -
分库分表技术之MyCat(实战水平分库) --- step1
1.海量存储问题1.1 背景描述如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB。对数据的各种操作也是愈 加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。阿里数据中心内景( 阿里、百度、腾讯这样的互联网巨头,数据量据说已经接近EB级)解决方案1: 使用NoSQL数据库, 通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支 持,来获取性能上的提升。 解决方案2: NoSQL并不是万能的,就比如有些使用场景是绝对要有...原创 2021-09-29 00:03:56 · 2323 阅读 · 0 评论 -
kafka详解(JAVA API操作kafka、kafka原理、kafka监控)-step2
1、JAVA API操作kafka修改Windows的Host文件:目录:C:\Windows\System32\drivers\etc (win10)内容:192.168.40.150 kafka1192.168.40.150 kafka2192.168.40.150 kafka3创建maven工程导入对应maven坐标 <properties> <java.version>1.8</java.versi..原创 2021-09-18 00:26:27 · 5018 阅读 · 0 评论 -
kafka详解(架构、集群)-step1
1. 消息队列(MQ)1.1 什么是消息队列消息队列不知道大家看到这个词的时候,会不会觉得它是一个比较高端的技术。消息队列,一般我们会简称它为MQ(Message Queue). 消息队列是一种帮助开发人员解决系统间异步通信的中间件,常用于解决系统解耦和请求的削峰平谷的问题。队列(Queue):Queue 是一种先进先出的数据结构,容器消息(Message):不同应用之间传送的数据。消息队列:我们可以把消息队列比作是一个存...原创 2021-09-12 21:46:45 · 1430 阅读 · 0 评论 -
分布式文件存储MinIO实战
1.分布式文件系统应用场景互联网海量非结构化数据的存储需求电商网站:海量商品图片 视频网站:海量视频文件 网盘 : 海量文件 社交网站:海量图片1.1 Minio介绍MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非 常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而 一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的原创 2021-09-12 16:26:28 · 6785 阅读 · 1 评论 -
Elastic search入门到集群实战操作详解(原生API操作、springboot整合操作)-step2
上一篇详细讲解了使用kibana RestFul风格操作es,接下来就是ES集群、操作原生API 以及SpringDataElasticsearchhttps://blog.youkuaiyun.com/qq_45441466/article/details/1201109681.Elasticsearch集群单点的elasticsearch存在哪些可能出现的问题呢?单台机器存储容量有限,无法实现高存储 单服务器容易出现单点故障,无法实现高可用 单服务的并发处理能力有限,无法实现高并发所以,为原创 2021-09-05 18:31:03 · 1286 阅读 · 1 评论 -
Elastic search入门到集群实战操作详解(原生API操作、springboot整合操作)-step1
1 Elastic search介绍和安装Elasticsearch是一个需要安装配置的软件。ELK技术栈说明:Elastic有一条完整的产品线:Elasticsearch、Logstash、Kibana等,前面说的三个就是大家常说的ELK 技术栈(开源实时日志分析平台)。Logstash 的作用就是一个数据收集器,将各种格式各种渠道的数据通过它收集解析之后格式化输出到 Elasticsearch ,最后再由 Kibana 提供的比较友好的 Web 界面进行汇总、分析、搜索。E.原创 2021-09-05 16:17:36 · 2308 阅读 · 0 评论 -
Lucene入门及操作详解
1 什么是全文检索1.1 数据分类我们生活中的数据总体分为两种:结构化数据和非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的数据,如邮件,word 文档等磁盘上的文件1.2 结构化数据搜索常见的结构化数据也就是数据库中的数据。在数据库中搜索很容易实现,通常都是使用 sql语句进行查询,而且能很快的得到查询结果。为什么数据库搜索很容易?因为数据库中的数据存储是有规律的,...原创 2021-09-05 10:06:57 · 9783 阅读 · 1 评论 -
FastDFS搭建文件管理系统(Docker方式+SpringBoot)
上一篇讲解了如何FastDFS原理以及如何在Linux上搭建文件系统,此篇相对来说更加简单,使用了Docker容器技术更加方便的实现文件系统。FastDFS-从入门到搭建文件管理系统实战还是简单的叙述下FastDFS体系结构以及上传流程1 FastDFS简介1.1 FastDFS体系结构FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相原创 2021-08-29 22:40:56 · 1121 阅读 · 1 评论 -
RabbitMQ集群搭建
上一篇,我们学习了在Spring如何引用RabbitMQ,及RabbitMQ的各个知识点。本篇主要学习如何搭建RabbitMQ集群环境。rabbitmq有3种模式,但集群模式是2种。详细如下:单一模式:即单机情况不做集群,就单独运行一个rabbitmq而已。之前我们一直在用普通模式:默认模式,以两个节点(A、B)为例来进行说明当消息进入A节点的Queue后,consumer从B节点消费时,RabbitMQ会在A和B之间创建临 时通道进行消息传输,把A中的消息实体取出并经过通过交给B.原创 2021-08-14 13:23:01 · 522 阅读 · 0 评论 -
RabbitMQ详解及集群搭建
1.什么是RabbitMQ1.1 MQ(Message Queue)消息队列消息队列中间件,是分布式系统中的重要组件 主要解决,异步处理,应用解耦,流量削峰等问题 从而实现高性能,高可用,可伸缩和最终一致性的架构 使用较多的消息队列产品:RabbitMQ,RocketMQ,ActiveMQ,ZeroMQ,Kafka等1.1.1 异步处理用户注册后,需要发送验证邮箱和手机验证码; 将注册信息写入数据库,发送验证邮件,发送手机,三个步骤全部完成后,返回给客户端1.1.2 应用解耦场.原创 2021-08-14 12:00:50 · 675 阅读 · 0 评论 -
FastDFS-从入门到搭建文件管理系统实战
1. 场景概述天猫,淘宝等购物网站,大量的图片和视频,文件太多,如何存储? 用户访问量大又如何保证下载速度?分布式文件系统就是解决这些问题的!1.1 什么是文件系统文件数据是如何存储的??1.2 分布式文件系统一台电脑存储量有限,并且并发吞吐量也有限,如何提高性能? 一吨货物,我要运送到吐鲁番: 1个人运,不敢想象 50个人运,太难了; 500个人运,每个人都很轻松; 这就是分布式吗?答:这里面有集群的概念,也有分布式的概念,二者不要混淆,面试常问的经典题目分布.原创 2021-08-07 22:48:49 · 1079 阅读 · 1 评论 -
分布式核心技术-Redis详解
前面有写过一篇Redis集群实战详解,主要是针对部署redis集群实战操作。可参考:https://blog.youkuaiyun.com/qq_45441466/article/details/116424318本篇主要是针对Redis的数据类型、Jedis-Api 、(持久化、事务)的原理、集群(哨兵、主从)原理及秒杀案例的剥析-所以更加详细篇幅更长(参考某钩课程)。1、概述1.1 Redis入门介绍互联网需求的3高 高并发,高可扩,高性能 Redis 是一种运行速度很快,并发性能很强,并且原创 2021-08-07 15:23:43 · 580 阅读 · 0 评论 -
Redis详解入门到实战(穿透、雪崩、击穿)以及集群部署(主从、哨兵、cluster)
1. Redis缓存相关问题1.1 缓存穿透缓存穿透是指查询一个数据库一定不存在的数据。我们以前正常的使用Redis缓存的流程大致是:1、数据查询首先进行缓存查询2、如果数据存在则直接返回缓存数据3、如果数据不存在,就对数据库进行查询,并把查询到的数据放进缓存4、如果数据库查询数据为空,则不放进缓存例如我们的数据表中主键是自增产生的,所有的主键值都大于0。此时如果用户传入的参数为-1,会是 怎么样?这个-1,就是一定不存在的对象。程序就会每次都去查询数据库,而每次查询都.原创 2021-05-05 14:54:19 · 289 阅读 · 0 评论 -
Apache Dubbo,Zookeeper 安装和使用
分布式RPC框架Apache Dubbo1.软件架构的演进过程软件架构的发展经历了由单体架构、垂直架构、SOA架构到微服务架构的演进过程,下面我们分别了解一下这几个架构1.1 单体架构架构说明: 全部功能集中在一个项目内(All in one)。架构优点: 架构简单,前期开发成本低、开发周期短,适合小型项目。架构缺点: 全部功能集成在一个工程中,对于大型项目不易开发、扩展和维护。 技术栈受限,只能使用一种语言开...转载 2021-04-01 22:44:29 · 421 阅读 · 0 评论 -
Dubbo综合实战
Dubbo综合实战1、 配置说明1.1启动时检查启动时会在注册中心检查依赖的服务是否可用,不可用时会抛出异常 在消费方编写初始化容器的main方法启动(tomcat启动方式,必须访问一次action才能初始化 spring) <!--默认为true:抛异常 --> <dubbo:consumer check="false"/> 系统级别日志,需要配合log4j才输出,在resources下添加log4j.propertie...转载 2021-07-18 16:06:00 · 220 阅读 · 0 评论 -
Zookeeper详解--(入门、原理及实战)
1. Zookeeper概述1.1 概述美团,饿了么,淘宝,58同城等等应用都是zookeeper的现实生活版 老孙我开了个饭店,如何才能让大家都能吃到我们的饭菜?需要入驻美团,这样大家就可以在美团 app中看到我的饭店,下订单,从而完成一次交易 Zookeeper是一个开源的分布式(多台服务器干一件事)的,为分布式应用提供协调服务的 Apache项目。 在大数据技术生态圈中,zookeeper(动物管理员),Hadoop(大象),Hive(蜜蜂), Pig(猪)等技术1.2 工作机制转载 2021-07-17 19:06:48 · 2356 阅读 · 4 评论