- 博客(5)
- 问答 (1)
- 收藏
- 关注
原创 畅购—— 页面详情静态化(Thymeleaf)
电商项目——CG一.分析流程 一.分析流程 准备工作 page模块导入thymeleaf坐标,开箱即用。 修改yml配置 具体步骤 定义canal和mq监听tb_spu表的status状态,0—>1 即为上架,以spuId发送消息到对应的消息队列。 page模块定义监听类,监听此消息队列,拿到spuId调用业务层。 业务层注入模板引擎TemplateEngine,根据spuId拿到所有的spu信息存入map中 创建context对象,将map集合放进去,定义输出流out,创建文件,以sp
2020-10-11 22:13:48 182
原创 畅购07,08—— 商品搜索模块(ElasticSearch)
电商项目——CG商品搜索分为三大模块1 数据同步ES1.1 ElasticSearch全文检索1.2 商品上下架同步到ES实现思路具体操作2 商品搜索条件封装2.1 基本分为6个条件2.2 步骤3 Thymeleaf实现动态渲染3.1 Thymeleaf基本语法 商品搜索分为三大模块 1 数据同步ES 1.1 ElasticSearch全文检索 面试题: 百度,淘宝为什么查询快? 都采用了ES全文检索技术。 全文检索技术,查询快的原因? ES使用倒排索引,对搜索内容进行分词,一个词对应多个id。当然,
2020-10-11 21:12:29 740
原创 畅购06—— 广告数据同步(Canal和MQ技术)
电商项目——CGcanal原理ElasticSearch全文检索缓存广告的更新 canal原理 canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议 mysql master收到dump请求,开始推送binary log给slave(也就是canal) canal解析binary log对象(原始为byte流) ElasticSearch全文检索 面试题: 百度,淘宝为什么查询快? 都采用了ES全文检索技术。 全文检索技
2020-10-11 19:11:07 227
原创 畅购05—— 首页加载方案(nginx+lua+redis)
电商项目——CG1.首页为什么用nginx部署?2.实现步骤(首页广告)3.数据库改变,如何保证实时预热操作? 1.首页为什么用nginx部署? 首页的并发量高,且有些许的变动 tomcat部署可能不是一个很好地选择 所以使用nginx+lua+redis进行预热缓存 2.实现步骤(首页广告) 后台数据通过后台管理系统对mysql中的首页内容(广告等)进行维护。 定义广告内容,表中设计了 position 位置字段 ,标识广告图片的显示位置。 将首页页面部署到nginx中。 通过lua脚本对广告指定位
2020-10-10 16:20:39 197
原创 畅购04——商品管理(分布式ID)
为何使用分布式ID 我们学过UUID是唯一的,但是它是字符串,查询效率低。无法保证递增的趋势,不可读。 也可用Redis来生成ID。这主要依赖于Redis是单线程的,所以也可以用生成全局唯一的ID。可以用Redis的原子操作 INCR和INCRBY来实现,但是网络传输会造成性能下降。 而雪花算法(snowflake)的其核心思想是:使用前41bit作为毫秒数,中间10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),后12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096
2020-10-07 19:24:38 154
空空如也
使用Elasticsearch遇到的问题
2020-09-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人