istio部署与评估
前言 istio是服务网格的一种具体实现方案,在网上已经有非常非常多的相关介绍了,本文主要介绍如何搭建一个开发环境的istio。 准备工作 istio提供了多种部署方式: istioctl: 官方安装工具,需要k8s集群 Istio Operator: 官方安装工具,需要k8s集群 helm:使用k8s的helm安装 多集群安装:跨多个k8s集群安装 虚拟机安装...
前言 istio是服务网格的一种具体实现方案,在网上已经有非常非常多的相关介绍了,本文主要介绍如何搭建一个开发环境的istio。 准备工作 istio提供了多种部署方式: istioctl: 官方安装工具,需要k8s集群 Istio Operator: 官方安装工具,需要k8s集群 helm:使用k8s的helm安装 多集群安装:跨多个k8s集群安装 虚拟机安装...
前言 近期在研究S/MIME协议,对于整个协议的大致流程网上有很多说明了,但是却很少有能够详细说明技术细节流程给技术实现提供指导方向的文章,因此在查阅大量文档后,我决定自己整理这样一篇文章来记录一下。 S/MIME协议 MIME协议是一个互联网标准,全称是多用途互联网邮件扩展(Multipurpose Internet Mail Extensions),它扩展了电子邮件标准,使其能够支...
前言 单元测试是日常编写代码中常用的,用于测试业务逻辑的一种方式,单元测试的覆盖率可以用来衡量我们的业务代码经过测试覆盖的比例。 目前市场上开源的单元测试覆盖率的java插件,主要有Emma,Cobertura,Jacoco。具体对比如下: 工具 Jacoco Emma Cobertura ...
前言 在java中,我们经常需要使用SSL/TLS连接,这种连接是加密连接,https之类的基于TCP/IP协议的应用层协议加密传输,也经常基于这种加密连接,这种连接jdk底层已经提供了默认的实现,并且是基于jdk中的keystroe证书库实现的认证。 在常用的http连接组件(如okhttp,httpcomponent)中,底层连接一般也是通过SocketFactroy建立的连接,通常...
前言 nginx是常用的高性能反向代理服务,内置了许多变量,本文转载自: https://www.javatpoint.com/nginx-variables 原文 Variables are the natural part of the programming languages. These are just containers holding various values ...
前言 本文主要记录如何将nginx配置为https反向代理 自签名证书 在配置https之前,我们需要先准备好证书文件,nginx需要两个证书文件:pem和key。 如果你已经有申请好的根证书,则忽略本步骤,如果没有证书,需要自签名,则按照本步骤生成自己的证书。 这里生成证书使用的是openssl和jdk中的keytool,如果没有请先自行安装这两个工具。 生成证书库 ...
前言 在使用mysql的过程中,我们经常需要备份一个数据库用于各种测试,这时候就需要将一个正在使用的数据库复制一份用于变更测试,在MySQLWorkbench中这个功能使用起来远没有Navicat那么简单,这里提供一个简单的指引,用于复制数据库。 在workbench中,提供了一个migration的功能,这个功能可以用于对比两个schema的差异,并将两个数据库同步,我们将使用这个功能...
前言 最近在做一个开放数据服务的时候,发现返回的数据格式化后由于时区问题导致客户端在解析时间时出现问题,比如如下数据: 数据库存储时间: +----------+---------------------+ | username |updated_at | +---------+----------------------+ | penghj | 2020-02...
前言 使用springboot开发的应用,可以打包成一个可运行的jar包发布,但在实际生产环境中我们很少这么做,主要是考虑运维和监控相关的工作,一个单独的jar包不方便。 因此更多的作为真正生产发布我们一般打包成一个jsw包(Java Service Wrapper)发布。 jsw包有自己的日志规范,虽然实际上是在原有的日志框架上套了一个马甲,但是和原应用的日志的规范是冲突的,也就是会...
前言 在开发过程中,我们经常遇到这样的情况: 在开发环境中运行的时候没有出现问题,打包运行就有问题了 在特定的场景下,生产环境运行发生异常,在开发环境则是正常的 这两种情况下,要调试定位问题非常困难,需要增加很多日志来协助定位,但是再无法判断bug发生的位置的情况下,日志也未必能帮助我们定位问题,这种情况下,我们就可以借助远程调试机制来定位问题。 JVM开启远程调试 要...