
微服务
文章平均质量分 86
微服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合且可单独部署的小型组件或服务。 这些服务通常拥有自己的技术栈,包括数据库和数据管理模型;通过一个REST API、事件流和消息代理组合彼此通信;以及按照业务能力进行组织,具有通常称为有界上下文的服务分隔线。
Mr.D.Chuang
时代各有不同,青春一脉相承。一起学习,一起奋进,一起进步,砥砺前行。
展开
-
多级缓存之实现多级缓存
多级缓存的实现离不开Nginx编程,而Nginx编程又离不开OpenResty。windows上的nginx用来做反向代理服务,将前端的查询商品的ajax请求代理到OpenResty集群。OpenResty集群用来编写多级缓存业务。OpenResty提供了一个cjson的模块用来处理JSON的序列化和反序列化。Redis缓存会面临冷启动问题:冷启动:服务刚刚启动时,Redis中并没有缓存,如果所有商品数据都在第一次查询时添加缓存,可能会给数据库带来较大压力。缓存预热:在实际开发中,我们可以利用大数据统计用户原创 2023-11-10 21:05:32 · 1211 阅读 · 0 评论 -
多级缓存之缓存同步
缓存数据同步的常见方式有三种:设置有效期:给缓存设置有效期,到期后自动删除。再次查询时更新;同步双写:在修改数据库的同时,直接修改缓存;异步通知: 修改数据库时发送事件通知,相关服务监听到通知后修改缓存数据。Canal [kə'næl],译意为水道/管道/沟渠,canal是阿里巴巴旗下的一款开源项目,基于Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Canal是基于mysql的主从同步来实现的原创 2023-11-10 20:37:24 · 713 阅读 · 0 评论 -
Lua语法入门
Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网:https://www.lua.org/Lua经常嵌入到C语言开发的程序中,例如游戏开发、游戏插件等。Nginx本身也是C语言开发,因此也允许基于Lua做拓展。原创 2023-11-07 21:39:54 · 697 阅读 · 0 评论 -
多级缓存之JVM进程缓存
传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,在多级缓存架构中,Nginx内部需要编写本地缓存查询、Redis查询、Tomcat查询的业务逻辑,因此这样的nginx服务不再是一个反向代理服务器,而是一个编写业务的Web服务器了。缓存在日常开发中启动至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。Caffeine是一个基于Java8开发的,提供了近乎最佳命中率的高性能的本地缓存库。原创 2023-11-05 11:20:37 · 819 阅读 · 0 评论