Lua 脚本
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Redis 中对 Lua 脚本提供了主动支持, 需要注意的是 打印的不是 lua 脚本的 print, 而是 lua 脚本的返回值
分布式锁
在分布式系统中,由于多个进程或线程可能同时访问同一个资源,因此需要使用分布式锁来控制资源的访问。分布式锁的基本原理是通过一个共享的锁来控制对资源的访问。当一个进程或线程需要访问共享资源时,它会尝试获取锁。如果锁已经被另一个进程或线程持有,则当前进程或线程需要等待,直到锁被释放为止。一旦当前进程或线程成功获取了锁,它就可以访问被锁定的资源,并在访问完成后释放锁。
RabbitMQ 解决 MySQL & Redis 数据一致性
管理员修改或删除了MySQL中的数据而没有及时更新Redis中的数据,用户访问这条数据时可能会从Redis中获取到旧的数据,导致数据不一致。比如,管理员将MySQL中的id=1的数据从"旧"修改为"新",但是Redis缓存中的数据仍然是"旧",当用户访问这条数据时,经过上述缓存业务逻辑,会从Redis中获取到"旧"的数据,而MySQL中的数据已经更新为"新",这样就会导致Redis中的数据和MySQL中的数据不一致。
ElasticSearch
搜索(Search),又称为检索,是指对信息资源进行查找、定位和获取的过程。通常涉及在文件系统、数据库、互联网、电子邮件、手机通讯录等多种数据源中寻找所需要的信息,并返回满足条件的结果列表。
Seata
Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
事务
事务(Transaction),一般是指要做的或所做的事情。 在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务由事务开始(begin transaction**)和事务结束(end transaction)之间执行的全体操作组成。
跨域
跨域(Cross-Origin Resource Sharing,缩写为CORS)是浏览器的一种安全机制,限制从一个域的网页发起对另一个域的资源请求。
部署 & 查看日志
部署(Deployment)是指将软件应用程序或系统从开发环境(开发者的计算机)移植到生产环境(服务器)并运行和维护的过程。在部署过程中,需要将应用程序、配置文件、环境变量等相关文件和资源上传到服务器,并进行相应的安装、配置和测试等工作,以确保应用程序在服务器上能够正常运行和提供服务。
模拟域名
模拟域名可以使开发环境尽量模拟生产环境并且方便微服务之间的调用,同时也便于开发人员进行调试和问题排查。在实际的开发工作中,模拟域名是比较常见的做法。
git 忽略文件
.gitignore 文件是一个文本文件,通常位于 Git 仓库的根目录,用于指定 Git 忽略哪些文件或目录,这些文件或目录不会被 Git 管理或跟踪。