自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 brew更新

今天分享的原因是因为准备在本地搭建一下环境,因为之前一直用的是docker,但是奈何mac内存有点小了顶不住,好了不说废话了,根本原因是因为在更新brew的时候出现了以下错误提示。这个是版本旧的原因,在本地删除了对应的老版本,然后再执行。注:更新的时候查看执行过程可执行。

2024-06-11 22:06:34 281

转载 Redis哨兵模式

故障转移过程中,领头Sentinel节点会根据一定的规则在所有从节点中选择一个最优的从节点作为新的主节点(Master)。然后,领头Sentinel节点通过发布订阅功能,通知其他从节点更改配置文件,将它们的连接从原来的主节点转移到新的主节点上。当一个哨兵节点认为主节点宕机后,它会向其他哨兵节点询问对主节点的状态,并请求其他哨兵进行确认。故障转移:当一旦发现Master节点异常,它将尝试进行故障转移,选择新的slave节点为master节点,并通过发布订阅的方式通知其他slave节点修改配置。

2024-05-19 00:19:38 33

原创 什么是消息队列

解决方法是,通过发布订阅模型,订单服务在订单变化时发送一条消息到一个主题中,所有的下游子系统都订单主题,这样可以每个子系统都可以获得一份完整的订单数据。隔离性:一个事务的执行不能被其他事务干扰(一个事务内部的操作及使用的数据对正在进行的其他事务是隔离的,并发执行的各个事务之间不能互相干扰)例如一个下单的信息需要同步多个子系统,每个子系统都需要保存订单的数据的一部分,如果光靠订单服务的团队去维护所有的子系统数据同步,代价太大。同步消息改成了异步,增加了系统的调用链,增加了系统的复杂度。

2024-05-19 00:09:53 655

原创 RabbitMQ

A 系统跟其它各种乱七八糟的系统严重耦合, A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。A 系统接收一个请求,需要在自己本地写库,还需要在 BCD 三个系统写库,自己本地写库要 3ms,BCD 三个系统分别写库要 300ms、450ms、200ms。所以消息队列实际是一种非常复杂的架构,你引入它有很多好处,但是也得针对它带来的坏处做各种额外的技术方案和架构来规避掉,做好之后,你会发现,妈呀,系统复杂度提升了一个数量级,也许是复杂了 10 倍。但是关键时刻,用,还是得用的。

2024-05-19 00:02:13 258

原创 php处理高并发

3.如果是分布式集群的服务器,需要一个或多个队列服务器。

2024-05-18 21:51:42 119

原创 mysql面试整理

数据表频繁进行大量的插入、更新和删除操作:建立索引会增加对数据表的维护成本,对于频繁进行大量的插入、更新和删除操作的数据表,索引的维护成本可能会超过索引带来的性能提升。索引最左匹配原则是数据库索引的一种使用规则,它指的是在复合索引(Composite Index)中,如果查询条件只涉及到了复合索引的前缀列,那么数据库可以利用该索引进行查询和优化。数据表的查询非常少或者很少有涉及到索引字段的查询:如果一个数据表很少被查询,或者很少有涉及到索引字段的查询,那么建立索引的性能收益可能非常有限。

2024-05-18 14:58:49 948

原创 Restful API

rest接口是围绕“资源”展开的,利用HTTP的协议,其实rest本也可以和HTTP无关,但是现在大家普遍的使用 rest都是依托于HTTP协议。在Restful架构中,每个网址代表的是一种资源,所以网址中不能有动词,只能有名词,动词由HTTP的 get、post、put、delete 四种方法来表示。rest是一种软件架构风格,如果你们的接口是 rest接口,那么就可被认为你们的的接口是restful的,英文名词和形容词的区别。path: 访问资源的路径,就是咱们各种web 框架中定义的route路由。

2024-05-18 14:55:38 221

原创 session共享

单点登录对于我们来说并不陌生了。对于大型系统来说使用单点登录可以减少用户很多的麻烦。就拿百度来说吧,百度下面有很多的子系统:百度经验、百度知道、百度文库等等,如果我们使用这些系统的时候,每一个系统都需要我们输入用户名和密码登录一次的话,我相信用户体验肯定会直线下降。当然,对于个人博客这类系统来说根本就用不上单点登录了。假如,我们的系统很庞大,但是就是这一个系统,并没有什么子系统。这时我们也不需要单点登录。这里不涉及多台主机负载均衡session共享的问题。在同一个域名下的不同站点是如何进行验证的?如果两

2021-03-09 16:02:49 179

原创 php-fpm定时任务服务启动问题

今天无意间发现了一个事,上周在php容器里安装了一个pdo扩展之后重启了容器之后,定时任务服务居然没有启动所以导致了定时任务几天的数据没有执行原因是因为我用的docker-compose文件里的command里面没有配置启动cron服务,所以容器重启的时候是不会启动的但是我不能改docker-compose文件,因为改了之后重新使用镜像生成后容器里面装的很多东西都白费了,所以暂时只有一个方案:先停掉容器,把现在容器打包成镜像,然后用打包好的镜像替换docker-compose里面的镜像配置,最后在

2021-02-05 14:05:37 457

原创 mongodb副本集搭建

昨天搭建了mongodb一主多从,之前搭建的一直是单例副本级,也没搭建仲裁节点,仲裁节点的意义是主节点宕机后选举从节点升级为主节点用的,好了,这里不做太多说明,接下来说一下我是怎么搭建的.我这里是搭建了1主3从1仲裁(本着mongodb副本集数量为一定要为奇数的原则)mongod.conf# mongod.conf# for documentation of all options, see:# http://docs.mongodb.org/manual/reference/configu

2021-02-05 13:50:53 138

原创 MySQL基础

MySQL数据类型整数类型TINYINT、 SMALLINT、 MEDIUMINT、 INT、 BIGINT实数类型FLOAT、 DOUBLE、DECIMALDECIMAL可存储比BIGINT还大的整数;可以用于存储精确的小数FLOAT和DOUBLE类型支持使用标准符点进行近似计算字符串类型VARCHAR CHAR TEXT BLOBVARCHAR用于存储可变长字符串,它比定长类型更节省空间VARCHAR使用1或2个额外字节记录字符串的长度,列长度小于255字节,使用1个字节表示

2021-02-01 16:17:24 94

原创 Mysql集群

一、MySQL的集群方案1. 主从方式-MySQL Replication原理写在master,读在slave。通过重放binlog实现主库数据的异步复制。即当主库执行了一条 sql 命令,那么在从库同样的执行一遍,从而达到主从复制的效果。在这个过程中, master 对数据的写操作记入二进制日志文件中(binlog),生成一个 log dump 线程,用来给从库的 i/o 线程传 binlog。而从库的 i/o 线程去请求主库的binlog,并将得到的 binlog 日志写到中继日志( rel

2021-02-01 15:16:09 268

原创 redis与memcached

Redis 和 Memcache 都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务;Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希 表、链表、等数据类型的相关操作1.redis数据类型1.String常用命令:set/get/decr/incr/mget等应用场景:String是最常用的一种数据类型,普通的key/value存储都可以归为此类2.Hash常用命令:hget/

2021-02-01 14:40:29 446

原创 MySQL的分区、分表、分库

MySQL的分区MySQL分区表是在数据库层面,MySQL自己实现的分表功能,在很大程度上简化了分表的难度。物理存储上分区存储,每个分区有独立的文件,应用程序上还是一张表Range(范围)–这种模式允许将数据划分不同范围。例如可以将一个表通过年份划分成若干个分区。MySQL5.1开始支持表分区1.RANGE分区 -根据范围分区,范围应该连续但是不重叠,使用PARTITION BY RANGE, VALUES LESS THAN关键字。不使用COLUMNS关键字时RANGE括号内必须为整数字段名或返回确

2021-02-01 14:15:12 165

转载 TCP协议和UDP协议

区别面向连接VS无连接TCP建立一个连接需要3次握手IP数据包,断开连接需要4次握手。另外断开连接时发起方可能进入TIME_WAIT状态长达数分钟(视系统设置,windows一般为120秒),在此状态下连接(端口)无法被释放。UDP不需要建立连接,可以直接发起。可靠VS不可靠TCP利用握手、ACK和重传机制,udp没有。TCP利用seq序列号对包进行排序,udp没有。面向字节流vs面向报文面向报文面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用

2021-02-01 14:04:31 62

转载 http协议

HTTP是一种超文本传输协议,HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。HTTP主要内容分为三部分,超文本,传输,协议。· 超文本就是不单单只是本文,它还可以传输图片、音频、视频,甚至点击文字或图片能够进行超链接的跳转。· 上面这些概念可以统称为数据,传输就是数据需要经过一系列的物理介质从一个端系统传送到另外一个端系统的过程。通常我们把传输数据包的一方称为请求方,把接到二进制数据包的一方称为应答方。· 而协议指的就是是网络中(包括互联网)传递、管

2021-02-01 14:03:49 115

转载 TCP协议特点和三次握手/四次挥手

一.TCP的特性TCP提供一种面向连接的、可靠的字节流服务在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCPTCP使用校验和,确认和重传机制来保证可靠传输TCP给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制注意:TCP 并不能保证数据一定会被对方接收到,因为这是不可能的。TCP 能够做到的是,如果有可能,就把数据递送到接收方,否则就(通过放弃重传并且中断连接这一手段)通知用户。因此准确说 TCP

2021-02-01 14:01:35 247 1

转载 Cookie和Session的区别

session原理:1、session是保存在服务器端,理论上是没有是没有限制,只要你的内存够大2、浏览器第一次访问服务器时会创建一个session对象并返回一个JSESSIONID=ID的值,创建一个Cookie对象key为JSSIONID,value为ID的值,将这个Cookie写回浏览器3、浏览器在第二次访问服务器的时候携带Cookie信息JSESSIONID=ID的值,如果该JSESSIONID的session已经销毁,那么会重新创建一个新的session再返回一个新的JSESSIONID

2021-02-01 13:57:21 121

原创 php基础

1.先知道默认网关的mac地址(使用arp获取默认网关的mac地址) 2.组织数据发送给默认网关(ip还是dns服务器的ip,但是mac地址是默认网关的mac地址) 3.默认网关拥有转发数据的能力,把数据转发给路由器 4.路由器根据自已的路由协议,来选择一个合适的较快的路径转发数据给目的网关 5.目的网关(dns服务器所在的网关),把数据转发给dns服务器 6.dns服务器查询解析出baidu.com对应的ip地址,并把它原路返回给请求这个域名的client

2021-02-01 13:49:50 150 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除