浅谈微服务雪崩及应对措施

2020-09-07
阅读 2 分钟
2.6k
应该说,模块化、低耦合一直以来都是软件设计追求的目标,独立部署的微服务使模块之间的依赖关系更加清晰,也更加隔离,使系统易于开发、维护,代表了正确的技术方向。但需要注意的是低耦合的两个微服务之间还是存在着一定的请求调用关系,否则就是零耦合了。既然请求调用关系很多时候避免不了,那么当一个复杂系统划分...

前端应用关于浏览器缓存策略问题

2020-05-24
阅读 4 分钟
2.8k
强缓存机制下浏览器首先查找本地缓存,如果命中则不会向服务器发起请求。此时返回 200 状态码,并带有 from disk cache 或 from memory cache 字样。强缓存可以通过设置两种 HTTP Header 实现:Expires 和 Cache-Control。

Golang 协程并发更新共享数据

2020-04-18
阅读 4 分钟
7.1k
以论坛项目为例,其中一个常见的统计更新需求是发布主题或回帖时会相应累加更新数据库相关统计表中目标日期对应的主题数或发帖数。考虑到这种性质的统计数据其实并不需要纯实时更新且增加不必要的数据库写压力,我们可以在 Golang 层面从数据库初始化存储至内存变量并在相应处理业务中更新相关的统计数据变量,再定时更...

Elasticsearch + IK 中文分词插件在文档中心项目中的使用

2020-02-29
阅读 7 分钟
4.3k
既然是文档中心,对于前台用户而言除了基本的文档阅览功能之外,最重要的功能莫过于根据关键词搜索文档了。那么这一点无论是对于英文还是中文,其本质其实都是全文搜索,只不过针对中文需要做一些额外处理。

正则表达式中的“环视”及实际项目应用

2019-01-11
阅读 2 分钟
2.1k
环视的四种类型: 1)顺序环视-肯定(从左至右查看文本):表达式为(?=……),匹配成功的条件为表达式能够匹配右侧文本,比如(?=d) 2)顺序环视-否定(从左至右查看文本):表达式为(?!......),匹配成功的条件为表达式不能匹配右侧文本,比如(?!d) 3)逆序环视-肯定(从右至左查看文本):表达式为(?<=……),匹配成功的...