当前位置: 首页 > news >正文

做网站主要栏目内怎么成立个人网站

做网站主要栏目内,怎么成立个人网站,wordpress代码框,wordpress 网站关键词设置CommandLineRunner接口的run方法 什么是多级缓存? 多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Server端的压力,提升服务性能。 一级缓存:1.CDN:内容分发网络 二级缓存:2.NGINX+Lua脚本+OpenResty服务器 负载均衡反向代理【静态和转发】 三级缓存:J…

CommandLineRunner接口的run方法

什么是多级缓存?

多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Server端的压力,提升服务性能。

一级缓存:1.CDN:内容分发网络

二级缓存:2.NGINX+Lua脚本+OpenResty服务器 负载均衡反向代理【静态和转发】

三级缓存:JVM进程缓存【本地缓存Caffeine】

四级缓存:Redis缓存

五级缓存:Mysql集群+主从复制

Mysql

现在是Caffeine===》(程序)====》Redis===》(cannel 阿里现成的工具 监听mysql)===》Mysql

那这个程序怎么实现对redis的监听?

没有什么是加一层不能解决的【公共管理层】。

亮点+难点

1.自定义本地缓存初始化配置-咖啡因【CommandLineRunner】

2.自定义缓存控制器,用来制衡远程redis缓存和本地缓存localCacheCaffeine【这个就是所谓的公共管理层】

3.远程redis监听程序 健康度检查

4.断线重连

数据同步策略?

高可用+分布式数据最终一致性回答思路。

多种策略共存

1.设置有效期【缓存击穿】

给缓存设置有效期,到期后自动删除,再次查询后更新。

对数据的即时性没有严格要求的应用场景,如一些只需要每天更新一次的报告数据。

优点:简单方便

缺点:时效性差,缓存过期之前可能不一致。

场景:更新频率低,时效性要求低的场景

2.同步双写

在修改数据库的同时,直接修改缓存

优点:时效性强,缓存与数据库强一致

缺点:有代码侵入,耦合度高

场景:对一致性、时效性要求较高的缓存数据

3.异步通知

修改数据库时发送事件通知,相关服务监听到通知后修改缓存数据。

优势:低耦合,可以同时通知多个缓存服务

缺点:时效性一半,可能存在中间不一致状态

场景:时效性要求一般,有多个服务需要同步

1.基于MQ消息

2.基于Canal的通知

3.自己写中间件

这个业务库后面再加一层DTS,然后通过监听实时分发给下游消费,不然直接在业务库监听,大批量物理操作或者敏感数据链路可以在新的DTS处理,这样相当于把业务彻底隔离开。

在数据库和其他系统组件之间增加一个中间层来处理数据同步。这个中间层可以实时监听数据库变更,并将这些变更分发给下游的消费者(如缓存服务)。这样做的好处包括:

  • 隔离业务逻辑和数据同步逻辑:保证业务数据库的操作不受缓存同步逻辑的影响,以此提高业务数据库的性能和稳定性。
  • 处理大批量操作:对于大批量的数据库操作,可以在DTS层进行处理,避免直接在业务数据库上产生大量负载。
  • 处理敏感数据:对于敏感数据,可以在DTS层进行必要的数据筛选和脱敏处理,然后再分发到下游。

将业务逻辑和数据同步逻辑隔离开,可以让系统的各个部分更加专注于它们自己的职责,提高系统的可维护性和扩展性。同时,这种架构设计还可以增强系统对高并发和高可用性的支持。

背景

假设你有一个在线电商平台,该平台的用户可以浏览商品、下订单、写评论等。这个平台的后端使用一个MySQL数据库来存储所有的业务数据,比如用户信息、商品信息、订单记录等。

场景

随着电商平台的快速增长,你发现以下问题:

  1. 高峰时段,大量用户下单导致数据库写入操作频繁,影响了数据库的性能。
  2. 你想实现一个实时推荐系统,该系统需要基于用户的最新交互数据来更新推荐内容。
  3. 为了提升性能,你决定使用缓存服务来减少数据库的读取压力。

问题

直接在业务数据库上实现这些功能会有以下问题:

  • 数据库可能会因为处理大量的同步、读写操作而成为性能瓶颈。
  • 如果直接在业务库上监听数据变更,任何监听过程中的延迟或错误都可能直接影响到主业务的稳定性和性能。

DTS层的引入

为了解决上述问题,你决定引入一个DTS层;这个DTS层可以理解为一个中间件或服务平台,它的角色如下:

  • 数据同步:DTS层监听业务数据库的变更(例如使用Binlog监听MySQL的变更)。当有新的订单产生时,DTS层捕获这个变更事件。
  • 数据分发:DTS层将捕获的事件发送给其他感兴趣的系统或服务,比如缓存更新服务、搜索索引服务、实时推荐系统等。
  • 数据处理:在分发之前,DTS层可以对数据进行必要的加工处理,例如数据清洗、转换格式、脱敏等。

例子

  1. 订单服务:当用户下单时,订单服务将订单信息写入数据库。
  2. DTS层捕获变更:DTS层监听到订单表有新的记录,它捕获了这个变更事件。
  3. 实时推荐系统更新:DTS层将订单信息发送给实时推荐系统,该系统根据新的订单更新用户的推荐列表。
  4. 缓存服务同步:DTS层同时通知缓存服务,让其更新相关的用户信息缓存,以确保其他用户看到的是最新的订单信息。

好处

  • 业务逻辑与数据同步解耦:业务数据库只需关注数据的存储和业务逻辑处理,而DTS层负责数据的同步和分发,避免了直接在业务库上额外增加处理负担。
  • 提高性能:DTS层可以批量处理和优化数据同步过程,减轻业务数据库的压力。
  • 增强安全性和隐私:DTS层可以对敏感数据进行脱敏处理,确保在传输过程中不泄露用户隐私。
  • 灵活性:可以根据需要为不同的下游系统定制数据分发和处理逻辑。

通过引入DTS层,电商平台的架构变得更加健壮和可扩展,能够更好地应对高并发场景,并为用户提供更加快速和个性化的服务。

设计多级缓存【如果redis数据量特别大 就不适合咖啡因了】

我们将进程内缓存与分布式缓存服务,结合有效分摊应用压力。在java应用层面,只有本地缓存Caffeine的缓存不存在时,再去redis分布式缓存获取,如果Redis也没有此数据再去数据库查询。数据查询成功后,对redis与Caffeine同时进行双写更新。这样java应用下一次再查询相同数据时,直接从本地Caffeine缓存获取,不再产生新的网络通信,应用查询性能得到显著提高。

1.先调用set

http://www.yayakq.cn/news/421520/

相关文章:

  • 中山高端网站建设价格淘宝建设网站的理由
  • 常州网站制作系统网站的ftp帐号
  • 有哪些外贸公司网站做的比较好新乡网站建设制作
  • 网站SEO优化实训dede手机网站模板修改
  • 做企业网站联系wordpress建站案例视频
  • 网上做问卷报酬不错的网站是个人网站制作手绘
  • 在线制作图片的网站网店如何推广自己的产品
  • 购物网站的图片轮播怎么做简单的网页设计作品下载
  • 凤岗仿做网站杭州最专业的seo公司
  • 常见的电子商务网站网址北京附近做网站的公司
  • 东南亚网站建设市场wordpress html 代码
  • 肇庆网站制作设计wordpress修改404
  • 制作网站常用软件中国是唯一一个拥有空间站
  • 做网站 使用权 所有权济南槐荫网站开发公司
  • 怎么让别人访问自己做的网站重庆知道推广网站方法
  • 做违法网站会怎么样wordpress 上传阿里云
  • 如何找有需求做网站的公司自媒体营销
  • 网站开发项目经验总结教训天津市网站制作建设推广公司
  • 开公司如何做网站推广页面门户网站建设与管理办法
  • 网站次年续费石家庄市城乡和建设局网站
  • html怎么做网站后台考二建需要什么学历和专业
  • 买做指甲的材料在哪个网站紫川网站建设
  • 做短裙的视频网站郑州免费网站建设
  • 郑州手机网站制作淄博晨曦网站建设
  • 展示型网站制作上海有哪些建设工程公司
  • 建网站的系统wordpress上传apk
  • 网站改版策划方案推广公司产品
  • 怎么让网站绑定域名访问wordpress手机导航条怎么做
  • 网站建设评比深圳品牌设计公司的发展
  • 惠州 网站建设设计方案参考网站