浅谈分布式锁

随着架构系统的演进,由纯真的单机架构到容器化编排的分布式架构,可以说是一个大型互联网企业发展的必然走向。在网站初创时,应用数量和用户较少,可以把Tomcat和Mysql部署在同一台机器上。随着用户数量增多,访问量增大,并发升高,Tomcat和MySQL竞争资源,此时,单机已经扛不住了,需要把Tomcat和MySQL分离在不同的机器上,用于提升单台机器的处理能力。业务从来没有减少,产品越做越大。应用也越来越复杂,原来的大应用,拆分成多个小应用,加入各级缓存,做了反向代理负责均衡,最后坠入分库分表的深渊。

继续阅读

git未跟踪文件通过合并覆盖错误的解决方法

在开发标注平台系统的时候,项目原同事将dubbo的注册缓存通过配置项的方式将其放在项目根目录,在 IDEA 中运行项目,每次都会生成该文件,导致项目目录有点乱,于是将其改变,放在当前用户目录的.dubbo-registry目录,且隐藏起来,减少人为操作引起的 RPC 调用问题。

经过这么已改造,保存项目并提交到 git 仓库,其他同事拉取项目之后,提交时出现如下错误:

error: The following untracked working tree files would be overwritten by merge:
~/.dubbo-registry/data-web-registry.properties
~/.dubbo-registry/data-web-registry.properties.lock
Please move or remove them before you merge.
Aborting

继续阅读