cashapxxx
MVS/SLAM/Java
展开
-
分布式与集群的区别是什么?kafka和redis的分布式体现在哪?
太多的说法是分布式是不同的人做不同的事,集群是多个人做同一件事的说法了。这太误导人了。比如zookeeper,3台机器的一个集群。从系统应用来看zookeeper,他就是集群,因为他为我提供了一样的服务。但是这个集群内部,主从之间又有不同的分工,主负责写,从负责读,主从之间又要通过长连接来同步数据副本,这样看,他又是个分布式系统了。redis也是,kafka也是…其实分布式不一定就是不同的组件,同一个组件也可以,关键在于是否通过交换信息的方式进行协作。比如说Zookeeper的节点都是对等的,但原创 2022-04-17 12:25:14 · 260 阅读 · 0 评论 -
知乎上一篇写kafka和zookeeper的文章
写得很好很清晰,记录一下:Kafka为什么要放弃Zookeeper原创 2022-04-17 11:30:45 · 2434 阅读 · 0 评论 -
【牛客网论坛】第7章:项目进阶,构建安全高效的企业服务(对帖子置顶、加精、删除)
对帖子置顶、加精、删除1 功能需求2 置顶、加精、删除帖子功能的实现2.1 依赖2.2 dao层处理数据1 功能需求对帖子可以进行置顶、加精、删除等操作,以区分不同的帖子重要程度使用Security进行权限管理只有版主才能置顶、加精帖子管理员才能删除帖子按钮显示,不同权限的用户显示不同的按钮需要用到Thymeleaf整合SpringSecurity的组件,动态渲染显示2 置顶、加精、删除帖子功能的实现2.1 依赖2.2 dao层处理数据接口定义需要修改帖子类型和状原创 2022-04-15 14:28:50 · 139 阅读 · 0 评论 -
创建springboot项目demo(论坛项目小结)
demo1 快速构建springboot项目:Spring Initializer1 快速构建springboot项目:Spring Initializerhttps://start.spring.io/原创 2022-02-21 21:41:30 · 325 阅读 · 0 评论 -
【牛客网论坛】第7章:项目进阶,构建安全高效的企业服务(权限控制)
项目进阶,构建安全高效的企业服务2 权限控制2 权限控制• 登录检查 - 之前采用拦截器实现了登录检查,这是简单的权限管理方案,现在将其废弃。 • 授权配置 - 对当前系统内包含的所有的请求,分配访问权限(普通用户、版主、管理员)。 • 认证方案 - 绕过Security认证流程,采用系统原来的认证方案。 • CSRF配置 - 防止 CSRF 攻击的基本原理,以及表单、AJAX相关的配置。...原创 2022-02-21 20:50:14 · 374 阅读 · 0 评论 -
【牛客网论坛】第7章:项目进阶,构建安全高效的企业服务(Spring Security)
项目进阶,构建安全高效的企业服务1 Spring Security1.1 SpringMVC的底层1.2 Spring Security底层机制1.3 交流网站1 Spring Securityhttps://spring.io/projects/spring-security1.1 SpringMVC的底层SpringMVC的底层核心是DispatcherServlet,所有的请求都提交给DispatcherServlet统一处理,DispatcherServlet会把请求分发给各个控制器,然原创 2022-02-21 20:22:23 · 3798 阅读 · 0 评论 -
【牛客网论坛】第6章:Elasticsearch,分布式搜索引擎(开发社区搜索功能)
Elasticsearch3 开发社区搜索功能3 开发社区搜索功能• 搜索服务 - 将帖子保存至Elasticsearch服务器。 - 从Elasticsearch服务器删除帖子。 - 从Elasticsearch服务器搜索帖子。 • 发布事件 - 发布帖子时,将帖子异步的提交到Elasticsearch服务器。 - 增加评论时,将帖子异步的提交到Elasticsearch服务器。 - 在消费组件中增加一个方法,消费帖子发布事件。 • 显示结果 - 在控制器中处理搜索请求,在HTML上显示搜索结果。原创 2022-02-21 15:48:45 · 965 阅读 · 0 评论 -
【牛客网论坛】第6章:Elasticsearch,分布式搜索引擎(Spring整合Elasticsearch)
Elasticsearch2 Spring整合Elasticsearch2.1 引入依赖(spring-boot-starter-data-elasticsearch)2.2 配置Elasticsearch(配置cluster-name、cluster-nodes)2.2.1 application.properties2.2.2 解决Netty冲突问题2.3 Spring Data Elasticsearch(调用spring提供的关于es的API访问es服务器,将数据库里的帖子存到es服务器里,然后从e原创 2022-02-20 15:13:10 · 1055 阅读 · 0 评论 -
【牛客网论坛】第6章:Elasticsearch,分布式搜索引擎(Elasticsearch入门)
Elasticsearch1 Elasticsearch入门1.1 Elasticsearch术语1.1.1 6.0以前的Elasticsearch术语1.1.2 6.0以后的Elasticsearch术语1.2 安装1.3 修改配置1.3.1 配置集群名字1.3.2 配置es存储数据到哪个路径下1.3.3 配置日志存放路径1.3.4 配置环境变量1.4 安装中文分词插件1.5 安装getpostman模拟网页发送http请求1 Elasticsearch入门https://www.elastic.c原创 2022-02-20 11:51:47 · 833 阅读 · 0 评论 -
【牛客网论坛】第5章:Kafka,构建TB级异步消息系统(显示系统通知)
显示系统通知5 显示系统通知5.1 实现通知列表5.1.1 数据访问层5.1.1.1 MessageMapper接口中增加功能5.1.1.2 实现MessageMapper接口中增加的功能5.1.2 业务层5.1.3 表现层(写controller处理请求、处理相应模板)5.1.3.1 在MessageController写查询通知列表的请求5.1.3.2 处理通知列表页面的模板5.2 开发通知详情5.2.1 数据访问层5.2.1.1 MessageMapper接口中增加功能(查询某个主题所包含的通知列表)原创 2022-02-19 20:38:11 · 280 阅读 · 0 评论 -
【牛客网论坛】第5章:Kafka,构建TB级异步消息系统(发送系统通知)
发送系统通知4 发送系统通知4.1 定义封装事件所有数据的实体(封装事件对象)4.2 开发事件的生产者4.3 开发事件的消费者(最终将事件转换为消息,存到数据库message里)4.3.1 设置为一个方法对应多个主题4.3.2 使用record接收相关数据(接收消息)4.3.3 利用消费者接收到的数据发送站内通知(构造message数据存到message表里)4.4 触发事件4.4.1 在CommentController完成评论请求后触发评论事件4.4.1.1 构造事件对象event,把事件包含的内容添原创 2022-02-19 16:27:05 · 330 阅读 · 0 评论 -
【牛客网论坛】第5章:Kafka,构建TB级异步消息系统(Spring整合Kafka)
Spring整合Kafka3 Spring整合Kafka3.13 Spring整合Kafka引入依赖 - spring-kafka • 配置Kafka - 配置server、consumer • 访问Kafka - 生产者kafkaTemplate.send(topic, data); - 消费者@KafkaListener(topics = {“test”}) public void handleMessage(ConsumerRecord record) {}3.1...原创 2022-02-18 20:39:09 · 192 阅读 · 0 评论 -
【牛客网论坛】第5章:Kafka,构建TB级异步消息系统(阻塞队列、Kafka入门)
阻塞队列、Kafka入门1 阻塞队列BlockingQueue1.1 使用ArrayBlockingQueue实现类演示阻塞队列的使用1.2 执行2 Kafka入门2.1 Kafka术语2.1.1 Broker2.1.2 Zookeeper2.1.3 Topic2.1.4 Partition2.1.5 Offset2.1.6 Leader Replica2.1.7 Follower Replica2.1 安装Kafka这里的消息不是指之前开发的私信。而是服务器自动发送系统消息、系统通知。1 阻塞队列Bl原创 2022-02-18 18:14:48 · 464 阅读 · 0 评论 -
【牛客网论坛】第4章:Redis(优化登录模块)
优化登录模块7 使用redis优化登录模块7.1 使用Redis存储验证码7.1.1 在RedisKeyUtil定义redis的key7.1.2 重构登录页面(LoginController)中获取验证码的方法(getKaptcha)7.1.3 重构登录页面(LoginController)中登录的方法(login)7.1.4 测试7.2 使用Redis存储登录凭证7.2.1 在RedisKeyUtil定义redis的key7.2.2 废弃LoginTicketMapper7.2.3 重构之前用到Login原创 2022-02-18 16:52:28 · 333 阅读 · 0 评论 -
【牛客网论坛】第4章:Redis(关注列表、粉丝列表)
关注列表、粉丝列表6 关注列表、粉丝列表6.1 业务层6.2 表现层6.2.1 处理请求(FollowController)6.2.1.1 查询当前用户(userId)关注的人(查询关注列表)6.2.1.2 查询当前用户的粉丝(查询粉丝列表)6.2.2 处理页面模板6.2.2.1 处理profile.html页面链接6.2.2.2 处理关注列表页面6.2.2.2.1 声明thymeleaf模板6.2.2.2.2 配置静态资源路径6.2.2.2.3 复用首页的头部6.2.2.2.4 处理js6.2.2.2.原创 2022-02-18 12:24:32 · 710 阅读 · 0 评论 -
【牛客网论坛】第4章:Redis(关注、取消关注)
关注、取消关注5 关注、取消关注5.1 在RedisKeyUtil工具类增加两个key,用于记录某个用户关注的实体(followee)、某个实体拥有的粉丝(follower)5.2 开发关注、取关的业务5.2.1 实现关注功能5.2.2 实现取关功能5.3 视图层(表现层)5.3.1 在controller做关注、取关请求(FollowController)5.3.2 处理用户主页关注的逻辑(演示如何关注一个用户)5.3.3 测试5.3.4 数据正常显示5.3.4.1 在FollowService增加查询方原创 2022-02-17 21:32:08 · 256 阅读 · 0 评论 -
【牛客网论坛】第4章:Redis(点赞、我收到的赞)
点赞、我收到的赞3 点赞3.1 编写生成rediskey的工具3.2 业务组件(点赞业务LikeService)3.3 表现层3.3.1 LikeController3.3.2 处理页面的逻辑3.3.2.1 给帖子点赞3.3.2.2 给帖子评论点赞3.3.2.3 给帖子评论的评论点赞3.3.2.4 开发like方法3.3.2.5 测试3.3.3 处理首页(index)赞的数量显示3.3.3.1 HomeController3.3.3.2 处理首页index显示赞的代码3.3.3.3 测试3.3.4 处理帖子原创 2022-02-17 12:51:16 · 315 阅读 · 0 评论 -
【牛客网论坛】第4章:Redis(Redis入门、Spring整合Redis)
Redis入门、Spring整合Redis1 Redis入门1.1 安装Redis1.2 配置Redis的环境变量2 Spring整合Redis1 Redis入门Redis是按键值对存储数据的。它的key都是string,value值支持多种数据结构:字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。官网:https://redis.io 1.1 安装Redishttps://github.com/microsofta原创 2022-02-16 18:28:28 · 210 阅读 · 0 评论 -
【牛客网论坛】第3章:开发社区核心功能(统一记录日志)
统一记录日志10 统一记录日志10.110.210.310 统一记录日志10.110.210.3原创 2022-02-15 22:43:28 · 119 阅读 · 0 评论 -
【牛客网论坛】第3章:开发社区核心功能(发送私信、统一处理异常)
发送私信8 发送私信8.1 发送私信8.1.1 数据访问层8.1.1.1 在数据层(MessageMapper)定义一个新增私信、一个修改消息已读未读的状态的方法8.1.1.2 实现新增私信、修改消息已读未读的状态的方法8.1.2 业务层MessageService8.1.3 表现层8.1.3.1 在MessageController新增处理新增私信、修改消息已读未读的状态的请求的方法8.1.3.2 编写页面模板的逻辑8.1.3.2.1 开发发私信按钮8.1.3.2.2 处理私信详情页面8.1.3.2.3原创 2022-02-15 20:16:43 · 263 阅读 · 0 评论 -
【牛客网论坛】第3章:开发社区核心功能(私信列表)
私信列表7 私信列表、私信详情7.1 私信列表、私信详情(朋友私信)7.1.2 私信表(message):7.2 开发数据访问层7.2.1 新建私信message实体类7.2.2 数据访问层逻辑(Mapper)——创建MessageMapper接口7.2.3 写配置文件实现MessageMapper接口中的方法7.2.3.1 查询当前用户的会话列表,针对每个会话只返回一条最新的私信7.2.3.2 查询当前用户的会话数量7.2.3.3 查询某个会话所包含的私信列表7.2.3.4 查询某个会话所包含的私信数量7原创 2022-02-14 12:30:35 · 420 阅读 · 0 评论 -
【牛客网论坛】第3章:开发社区核心功能(显示评论、添加评论)
5 显示评论5.1 了解评论表entity_type:评论目标的类别(1代表帖子;2代表评论;3代表用户;4代表题;5代表课程);entity_id:entity_type类型的目标具体是对应哪个id;target_id:如下图的Sissi要开发查询功能,首先要把评论表的实体类写好。5.2 数据层声明mapper接口中的方法:package com.nowcoder.community.dao;import com.nowcoder.community.entity.Comme原创 2022-02-08 17:35:44 · 476 阅读 · 0 评论 -
【牛客网论坛】第3章:开发社区核心功能(事务管理)
事务管理4 什么是事务?4 什么是事务?原创 2022-02-05 22:05:26 · 157 阅读 · 0 评论 -
【牛客网论坛】第3章:开发社区核心功能(帖子详情)
帖子详情11原创 2022-02-04 20:45:53 · 365 阅读 · 0 评论 -
【牛客网论坛】第3章:开发社区核心功能(发布帖子)
2 发布帖子2.1 AJAX发布帖子需要用到异步请求。异步请求即当前网页帖子不刷新,访问服务器,服务器会返回一些结果(如网页),通过这个结果中提炼出来的数据,对网页做一个局部刷新。实现异步请求的方式是ajax。AJAX具体请看:https://blog.csdn.net/qq_60225495/article/details/1227848092.2 使用jQuery发送AJAX请求2.2.1 先增加处理JSON字符串的方法(因为服务器要给浏览器返回JSON字符串)配置JSON包的依赖:原创 2022-02-04 20:41:56 · 560 阅读 · 0 评论 -
【牛客网论坛】第3章:开发社区核心功能(过滤敏感词)
开发社区核心功能1 过滤敏感词1.1 利用前缀树实现过滤敏感词的算法1.2 前缀树过滤敏感词的算法逻辑1.3 开发一个能复用的敏感词过滤器1.3.1 定义敏感词(可以定义到文件里,也可以定义到数据库里)1.3.2 写一个工具实现过滤敏感词的功能1 过滤敏感词1.1 利用前缀树实现过滤敏感词的算法前缀树名称:Trie、字典树、查找树特点:查找效率高,消耗内存大应用:字符串检索、词频统计、字符串排序等前缀树根结点不包含任何字符,除了根结点以外的结点只包含一个字符。从根结点到某个结点经过的每个原创 2022-02-03 19:32:46 · 266 阅读 · 0 评论 -
【牛客网论坛】第2章:Spring Boot实践,开发社区登录模块
Spring Boot实践,开发社区登录模块1 发送邮件1 发送邮件原创 2022-04-13 08:45:53 · 497 阅读 · 0 评论