Nginx 转发 404 问题的排查和思考

本篇文章原自当前业务遇到的一个实际问题,因为受到所在网络环境的因素影响,所以整体排查下来耗费了很大精力,记录一下。

项目背景

项目是 toG 项目,部署的网络环境是一个大的内网环境(又具体分为内网和内网互联网区),项目涉及到小程序、前端、后端(又包括 JAVA 和 GO 两个项目)的部署。整体的部署拓扑图大致如下:

阅读更多

mysql 日志文件

日志文件记录了影响 mysql 数据库的各种类型活动,mysql 中常见的日志文件主要包括以下 4 种:

  • 错误日志
  • 二进制日志
  • 慢查询日志
  • 查询日志

这些日志文件可以帮助我们对mysql数据库的运行状态进行诊断,从而更好的进行数据库层面的优化。

阅读更多

ZooKeeper 客户端之 Curator

ZooKeeper 是一个分布式的、开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现。它是集群的管理者,监视着集群中各个节点的状态,根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Curator 是 Netflix 公司开源的一套 Zookeeper 客户端框架,解决了很多 Zookeeper 客户端非常底层的细节开发工作,包括连接重连、反复注册 Watcher 和 NodeExistsException 异常等等。

阅读更多

关于 rpc 的整理和理解

RPC 的主要目标就是为了让构建分布式计算(应用)变得更加简单,在提供强大的远程调用能力时不损失本地调用的语义简洁性。 为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。

阅读更多

聊一聊 RestTemplate

原文:https://juejin.cn/post/6844903695981740046

从 3.0 版本开始,Spring 提供了 RestTemplate 作为用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程 Http 服务的方法,能够大大提高客户端的编写效率。

本篇文章将从 RestTemplate 提供的 API 入手,先来了解下 RestTemplate 的具体使用,然后再对其中涉及到的几个核心类进行分析,最后再来分析下 RestTemplate 执行的整个流程,篇幅比较长,建议先码为快!

阅读更多

Google Guava 在实际场景中的应用封装

原文:https://juejin.cn/post/6844903624519188487

毕竟西湖六月中,风光不与四时同。

接天莲叶无穷碧,映日荷花别样红。

晓出净慈寺送林子方-杨万里

周末与小伙伴约了一波西湖,这个时间荷花开的正好…,在开始文章之前先放一张“佛系”美图来镇楼!!!

最近这段时间用了下谷歌的 guava,自己封了一个缓存模板方案,特此记录,以备后续所需。

阅读更多

聊一聊 session 和 cookie

本来是想写 aop 设计机制的,但是最近被 session 这个东西搞得有点头大,所以就抽点时间来整理下关于 session 的一些东西。

阅读更多

关于 Mybatis 中 SQL 语句的整理

随着业务的发展,越来越多的应用系统都从一个大的系统分拆成多个小的系统,各个系统之间通过一定的通信协议进行数据交换。这样就会导致一些小的应用系统自己不用去进行数据库的操作,只需要进行一些rpc调用或者缓存就可以拿到数据进行展示。我之前参与的一个项目就是这样的情况,而我也是将近7个多月的时间没有写过一行SQL。

近期参与的一个项目的数据大多都市基于数据库来进行数据交互的,所以免不了的要写大量的 SQL,所以本篇就总结一下一些 SQL 的基本写法,以备后用。

阅读更多