自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用户登录后IP记录日志的六种实现方案探讨

在图中,OpenResty可以作为业务网关来控制请求的走向,请求进来如果匹配到登录url(如:/user/login),则进行lua脚本的转发,请求会进入到lua脚本中进行控制,lua脚本可以获得用户的ip以及用户id,如此就可以直接在lua中进行数据的存储,不管是mysql、mongodb或是redis,都可以进行存取。这么做其实没啥问题,但是有的公司的技术Leader或架构师不喜欢这种方式,因为这仍然对原有代码进行了破坏,也就是Controller需要修改代码,也依然会存在一定的耦合度。

2023-12-28 15:30:14 1302 1

原创 秒懂Zookeeper原理与工作机制

也就是说,zk的数据模型和linux的文件系统目录结构类似,可以作为树形结构一层一层展开,每一层作为一个node节点(znode)都可以存储数据,而这个node可以比作是一片树叶,树叶很小能够承载的东西也不多,所以znode节点能够存储的数据大小在1m左右,不能设置很大,存储一些配置信息啊或者一些json信息就行。上面就是zk的工作原理,本质上其实也是生产者与消费者的关系,学生就是生产者,而班主任就是消费者,通过这种关系实现了zk的通知机制。就拿洗澡盆来讲,洗澡盆里可以放小黄鸭,奥特曼,怪兽等。

2023-09-28 13:19:17 74

原创 聊一聊计算机软件类项目的敏捷开发 Scrum

我们这么做比喻,我们把敏捷开发比作MVC模式,那么MVC模式有很多框架呀,比如Struts,springmvc,springboot等,都是,这些都是基于MVC模式的基于这个理念的实现框架,我们要实现MVC模式只需要运用选择其中一个框架即可。举个例子,平时去饭店吃饭,我点完菜都是逐个上菜的吧,但是大年夜饭店里吃年夜饭,大多都是套餐,都已经做好了,你说要上菜,他就啪啪啪的全部上菜了,他不管你点了10个还是20个菜,都是一次性上的,你就很郁闷啊,就不能分开了,一个一个的上菜吗,饭桌都放不下。

2023-08-04 10:40:03 127

原创 微服务分布式系统CAP理论与数据一致性抉择

比如双11或者618的时候,订单蹭蹭蹭的海量增加,我们只需要关注订单下单成功就行,具体多少订单,具体多少金额,我们不会去实时的统计计算的,因为没必要,会在高峰期过后逐步去统计,慢慢的实现一致性。在保证数据库和缓存一致的情况之下,静态页面中的数据比如用户昵称可能会和后端数据库不一致,这是弱一致性的表现,如果要保证强一致性,则每个页面都必须和后端交互,但是如果有并发请求导致后端压力过大可能会导致这个接口所在的服务直接挂掉,如此一来系统不可用。所以对于CAP来讲,只能满足其中两者,要么AP,要么CP,要么CA。

2023-08-02 12:20:49 90

原创 程序员的情商课

3. 往更严重了说,有的人很丧,就有一种说不出的感受,整个团队感觉就是每天都是阴雨笼罩,我几年前曾经在这样的团队带过,实在吃不消,他们技术经理就是很丧气的一个人,虽然技术特别牛逼,但是情商极低,别说工作,连开会都是死气成成的,讲话有气无力的,当然,据我了解,他们项目还在,技术经理也在其他人都走了,我也去了解过,都是因为这样的负面情绪被影响过多,有的还会把这样的情绪带回家,导致家庭不和睦,这样的工作就是实在做的不开心了。我刚工作的时候,公司新来的一个哥们,就坐我对面,他就是特别会抱怨,每天说这些有的没的。

2023-07-31 20:49:50 53

原创 慕课网2021-01-29 Redis6直播笔记 - 下(多线程/哈希slot/集群)

# 慕课网2021-01-29 Redis6直播笔记 - 下(多线程/哈希slot/集群)### io多线程以前的redis是单线程模型,其实就是多路复用机制,知道多路复用的来一波6,我们在架构师课程中讲过,那么netty也有,看过老师相关课程的也应该知道。这里不多说了。Redis6开始有了IO读写多线程,只不过执行用户的命令和早期版本也是一样的,都是单线程执行,所以线程安全。我们先来看一下老版本的单线程:![-w1750](https://lee-blog.oss-cn-shanghai.a

2021-01-28 10:54:51 163

原创 Redis6安装(下) - 集群与故障转移

Redis Cluster 搭建准备工作 搭建集群之前,务必有一点需要注意就是选举,因为在如今很多的分布式中间件里,集群都会有选举这个概念,一定要达到半数以上的节点,才能够发起公平的投票,否则就会脑裂,比如redis,zk,es等,所以至少保证3个master节点,master会发起选举投票的。这一点要须知。 配置6个节点的虚拟机(预先做好) 192.168.1.221 192.168.1.222 192.168.1.223 192.168.1.224 192...

2020-12-16 10:47:46 191

原创 Redis6安装(上) - 单机单实例

首先下载新版的redis6并且上传到centos7: 安装redis需要gcc的环境,和以往老版本不同,这里的gcc需要高一点的版本。 yum install gcc-c++ 随后升级gcc版本 yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9...

2020-12-16 10:31:53 176

原创 MongoDB-4 GridFS 文件存储

1. 配置configspring: data: mongodb: uri: mongodb://username:password@192.168.2.72:27017 database: mydb@Componentpublic class WebConfig { @Value("${spring.data.mongodb.databa...

2020-03-03 09:20:18 856

原创 RestTemplate + okhttp 实现远程调用

1. 添加依赖<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp --><dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artif...

2020-02-24 11:02:33 1907 1

原创 MongoDB-3 GUI客户端工具与用户权限

MongoDB-3 GUI客户端工具与用户权限引子不论是mysql或者redis或者es,我们都会使用远程的客户端工具来连接数据库server,那么目前的linux上锁安装的MongoDB就是server端,我们需要有一个客户端来进行可视化的管理,常用的可以使用Navcat来操作,当然使用其他的GUI工具也都行。GUI 连接 MongoDB创建连接填入你的host所在ip,...

2020-02-20 20:15:07 920

原创 疫情下的远程办公与桌面分享

疫情下的远程办公与桌面分享远程办公相信很多小伙伴们正因为这次疫情都窝在家里远程办公吧,我也一样,都在等具体的复工通知,我们暂定会在3月份复工~当然也有可能会提前。那么这次我们来聊聊远程办公。其实远程办公在很多公司都会有,我也经历过,我曾经在一家美资企业,虽然我们在办公室,但是相对于美国来说,办公室也是远程的,我们所使用的工具也需要远程连到海外通道,开会也是一样远程视频或音频。当然也有部分...

2020-02-15 19:45:01 1615

原创 MongoDB-1 入门

基础概念MongoDB 是非关系型数据库,也就是nosql,存储json数据格式会非常灵活,要比mysql更好,同时也能为mysql分摊一部分的流量压力。另外呢,对于非事务的数据完全可以保存到MongoDB中,这些数据往往也是非核心数据。以下是MongoDB和数据库以及ElasticSearch的术语对比:数据库ElasticSearchMongoDBdatabasees库...

2020-02-11 13:49:07 874

空空如也

空空如也

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

TA关注的人

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