ashane1314
码龄8年
关注
提问 私信
  • 博客:49,259
    49,259
    总访问量
  • 65
    原创
  • 1,593,724
    排名
  • 4
    粉丝
  • 0
    铁粉

个人简介:不忘初心

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2016-12-23
博客简介:

m0_37145844的博客

查看详细资料
个人成就
  • 获得29次点赞
  • 内容获得2次评论
  • 获得90次收藏
创作历程
  • 40篇
    2020年
  • 35篇
    2019年
  • 1篇
    2018年
成就勋章
TA的专栏
  • 计算机底层原理
    3篇
  • 网络
    7篇
  • 算法
    2篇
  • redis
    5篇
  • go语言知识汇总
    6篇
  • MYSQL
    2篇
  • 数据库MYSQL
    2篇
  • nginx
    2篇
  • 数据结构与算法
    31篇
  • 问题汇总
    1篇
  • 负载均衡
    1篇
  • linux
    1篇
  • go语言核心36讲
    15篇
  • es
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    架构
  • 服务器
    linux
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

https原理

加密对称加密秘钥一个(通讯双方用同一把要是加密解密)效率较高无法直接暴露在网络上传输非对称加密公钥+私钥(私钥加密,公钥解密;私钥server端自己持有,公钥发送给消费端;通讯双方相互都给对方自己的公钥,自己保留私钥,然后用自己私钥加密,对方用对应的公钥解密)如何确认别人给你的公钥是合法的:ca证书 ,向权威机构A获取对应的通讯端的公钥。=>如何证明A是合法的=>向更权威的机构B确认A是合法的=>...https步骤1,通过向权威机构获取证书,来获取对方
原创
发布博客 2020.11.05 ·
208 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

选举算法-redis集群

Raft[编辑]维基百科,自由的百科全书跳到导航跳到搜索关于木筏,请见“筏”。Raft是一种用于替代Paxos的共识算法。相比于Paxos,Raft的目标是提供更清晰的逻辑分工使得算法本身能被更好地理解,同时它安全性更高,并能提供一些额外的特性。[1][2]:1Raft能为在计算机集群之间部署有限状态机提供一种通用方法,并确保集群内的任意节点在某种状态转换上保持一致。Raft算法的开源实现众多,在Go、C++、Java以及Scala中都有完整的代码实现。Raft这一名字来源于"Reli...
原创
发布博客 2020.11.05 ·
1019 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

图解 TCMalloc

前言TCMalloc是 Google 开发的内存分配器,在不少项目中都有使用,例如在 Golang 中就使用了类似的算法进行内存分配。它具有现代化内存分配器的基本特征:对抗内存碎片、在多核处理器能够 scale。据称,它的内存分配速度是 glibc2.3 中实现的 malloc的数倍。之所以学习 TCMalloc,是因为在学习 Golang 内存管理的时候,发现 Golang 竟然就用了鼎鼎大名的 TCMalloc,而在此之前虽然也对内存管理有过一些浅薄的了解,但一直没有机会深入。因此借此机会再巩.
转载
发布博客 2020.10.29 ·
339 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mysql主键索引为什么用B+树而非B树,红黑树等

接下来我们就通过了解B+树去全面解决这几个问题。一、B+树的数据结构树的概念我的就赘述了,其他文章都写的非常清楚了。我们要注意的一个点:InnoDB和MyIsam在存储的区别。InnoDB主键索引的存储结构是:叶子节点存储了主键值和其他字段数据值其他索引的存储结构是:叶子节点存储了索引值和主键索引值区别是其他索引存的是主键索引值MyIsam索引的存储结构是:叶子节点存储了主键值和数据记录的地址主键索引和其他索引存储结构是一样的说B+树之前先说说B树,B+树是在B树基础上
原创
发布博客 2020.10.29 ·
1144 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

mysql 当前读&快照度&mvcc

todo
原创
发布博客 2020.10.29 ·
500 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

为什么Redis集群有16384个槽

我在《那些年用过的Redis集群架构(含面试解析)》一文里提到过,现在redis集群架构,redis cluster用的会比较多。如下图所示对于客户端请求的key,根据公式HASH_SLOT=CRC16(key) mod 16384,计算出映射到哪个分片上,然后Redis会去相应的节点进行操作!那大家思考过,为什么有16384个槽么?ps:CRC16算法产生的hash值有16bit,该算法可以产生2^16-=65536个值。换句话说,值是分布在0~65535之间。那作者在做mod运算的时候,为什么不
转载
发布博客 2020.10.29 ·
174 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

redis集群

本文实现环境centos 7.3 redis 4.0 redis工作目录 /usr/local/redis 所有操作均在虚拟机模拟进行一、集群简介集群是为了解决主从复制中单机内存上限和并发问题,假如你现在的云服务内存为256GB,当达到这个内存时redis就没办法再提供服务,同时数据量能达到这个地步写数据量也会很大,容易造成缓冲区溢出,造成从节点无限的进行全量复制导致主从无法正常工作。那么我们就需要把单机的主从改为多对多的方式并且所有的主节点都会连接在一起互相通信。这样的方式既可以分
转载
发布博客 2020.10.29 ·
297 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

nginx负载均衡配置

负载均衡 - 配置 # 首先,你要有两台或以上可以提供相同服务的Web服务器,不然这个负载均衡配置就没有意义! # 在配置过程中只需要改代理服务器的配置就行,其他服务器不用管。 - vim /usr/local/nginx/conf/nginx.conf # 在http下添加如下代码 upstream item { # item名字可以自定义 server 192.168.101.60:81 参数
原创
发布博客 2020.10.28 ·
254 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

堆和栈

堆(Heap)与栈(Stack)是开发人员必须面对的两个概念,在理解这两个概念时,需要放到具体的场景下,因为不同场景下,堆与栈代表不同的含义。一般情况下,有两层含义:(1)程序内存布局场景下,堆与栈表示两种内存管理方式;(2)数据结构场景下,堆与栈表示两种常用的数据结构。1.程序内存分区中的堆与栈1.1 栈简介栈由操作系统自动分配释放 ,用于存放函数的参数值、局部变量等,其操作方式类似于数据结构中的栈。参考如下代码:int main() { int b; //栈 char s
原创
发布博客 2020.10.27 ·
2852 阅读 ·
10 点赞 ·
0 评论 ·
18 收藏

什么是队头阻塞以及如何解决

前言通常我们提到队头阻塞,指的可能是TCP协议中的队头阻塞,但是HTTP1.1中也有一个类似TCP队头阻塞的问题,下面各自介绍一下。TCP队头阻塞队头阻塞(head-of-line blocking)发生在一个TCP分节丢失,导致其后续分节不按序到达接收端的时候。该后续分节将被接收端一直保持直到丢失的第一个分节被发送端重传并到达接收端为止。该后续分节的延迟递送确保接收应用进程能够按照发送端的发送顺序接收数据。这种为了达到完全有序而引入的延迟机制非常有用,但也有不利之处。假设在单个TCP连接上
原创
发布博客 2020.10.25 ·
2121 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

描述一次完整请求

请求浏览器输入url地址,url地址为统一资源定位符,有着标准的格式,浏览器能够识别,可以统一处理。(应用层HTTP) 浏览器把url域名发送给dns服务器,dns服务器解析域名返回IP地址。(应用层HTTP) 因为http协议是基于tcp协议,接下来要建立tcp协议:三次握手建立tcp协议。(目前使用的 HTTP 协议大部分都是 1.1。在 1.1 的协议里面,默认是开启了 Keep-Alive 的,这样建立的 TCP 连接,就可以在多次请求中复用。)(传输层TCP) tcp连接建立以后,浏览器
原创
发布博客 2020.10.25 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

问题汇总

KS调度机器人顶举指定容器的商品到指定站点,完成【分拣投递】并打包出库流程。FWA模型主要是登记作业动作,并进行库存维护,触发订单状态扭转。 Flip AGV子仓: 借鉴Go GMP并发模型思想,设计分拣投递系统。 SocketGateWay缓存池:避免重复连接和连接复用。数据层面:32个站点,8秒做一次投递任务,一小时产能为:3600/8 * 32 = 1.44万件QPS:1/8*32=4 ---- 1*32=32 = 4—32之间JDBUV:1.3亿日活:130..
原创
发布博客 2020.09.02 ·
1218 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

常用负载均衡模式

1. 集中式LB(Proxy Model)集中式LB.png在服务消费者和服务提供者之间有一个独立的LB,通常是专门的硬件设备如 F5,或者基于软件如 LVS,HAproxy等实现。LB上有所有服务的地址映射表,通常由运维配置注册,当服务消费方调用某个目标服务时,它向LB发起请求,由LB以某种策略,比如轮询(Round-Robin)做负载均衡后将请求转发到目标服务。LB一般具备健康检查能力,能自动摘除不健康的服务实例。 该方案主要问题:单点问题,所有服务调用流量都经过LB,当服务数量和调用量
原创
发布博客 2020.07.09 ·
1472 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

算法练习

链表反转,非递归实现func resv4(head *LinkedNode) (nn *LinkedNode) { var pre, next *LinkedNode for head != nil { next = head.nextNode // 1.next先指向第二个节点,node为当前节点 head.nextNode = pre // 2.反转当前的链表 pre = head // 3.保存当前节点为上一个节点,共下次反转使用 head = ne
原创
发布博客 2020.07.08 ·
103 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Nginx服务器的内部核心架构设计

前言Nginx 是一个 免费的,开源的,高性能 的 HTTP 服务器和 反向代理,以及 IMAP / POP3 代理服务器。 Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。Nginx是一个 Web 服务器,也可以用作 反向代理,负载均衡器 和 HTTP 缓存。正文1. Nginx的整体架构1.1. 主进程Nginx 启动时,会生成两种类型的 进程*,一个是 主进程(master),一个(windows 版本的目前只有一个)或 多个工...
转载
发布博客 2020.07.01 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

TCP/IP四层模型

TCP/IP 网络分层模型还是先从 TCP/IP 协议开始讲起,一是因为它非常经典,二是因为它是目前事实上的网络通信标准,研究它的实用价值最大。TCP/IP 当初的设计者真的是非常聪明,创造性地提出了“分层”的概念,把复杂的网络通信划分出多个层次,再给每一个层次分配不同的职责,层次内只专心做自己的事情就好,用“分而治之”的思想把一个“大麻烦”拆分成了数个“小麻烦”,从而解决了网络通信的难题。你应该对 TCP/IP 的协议栈有所了解吧,这里我再贴一下层次图。TCP/IP 协议总共有四层,就像搭积木
原创
发布博客 2020.07.01 ·
12917 阅读 ·
7 点赞 ·
0 评论 ·
17 收藏

redis主从同步

什么是主从复制持久化保证了即使 redis 服务重启也会丢失数据,因为 redis 服务重启后会将硬盘上持久化的数据恢复到内存中,但是当 redis 服务器的硬盘损坏了可能会导致数据丢失,如果通过 redis 的主从复制机制就可以避免这种单点故障,如下图:说明:主 redis 中的数据有两个副本(replication)即从 redis1 和从 redis2,即使一台 redis 服务器宕机其它两台 redis 服务也可以继续提供服务。主 redis 中的数据和从 redis 上的.
转载
发布博客 2020.06.30 ·
182 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

进程间通信IPC

IPCInterProcess Communication一、进程间通信的概念每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)进程间通信模型二、进程间通信的7种方式第一类:传统的Unix通信机制1. 管道/匿名管道(pi.
转载
发布博客 2020.06.29 ·
306 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

判断二叉树是否镜像对称,编程实现

思想:若此树就一个节点或者没有节点,则为对称。 若此树不值一个节点,则分别比较其左节点和右节点的值。 然后在比较左节点和右节点的比较中,在分别比较,左节点的左子树跟右节点的右子树,左节点的右子树,跟右节点的左子树是否对称相等。 同时注意,左节点为空和左节点不为空右节点不为空场景。type Tree struct { Data interface{} Left *Tree Right *Tree}/*判断二叉树是否镜像对称,编程实现*/func MirrorTree(tree T
原创
发布博客 2020.06.28 ·
412 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

实现一个最大栈,包含Push、Pop、Max方法,Max方法要求返回当前栈内最大元素值

简单版package mainimport "fmt"type Stack struct { Value []int MaxV int MinV int}func (this *Stack) Push(i int) { this.Value = append(this.Value, i) if i > this.MaxV { this.MaxV = i } if this.MinV == 0 || i < this.MinV { this.MinV
原创
发布博客 2020.06.28 ·
727 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多