0%

1. JVM运行时数据区

这个图相信很多人都看过N多次了,自己再做一次加深下记忆
JVM Runtime

其中方法区和堆是由所有线程共享的数据区,而我们绝大多数的JVM调优都是针对方法区和堆。
其它都是线程隔离的数据区。
想要理解JVM,有3个比较重要的概念需要了解清楚,分别是:

[toc]

一、 背景

(一)网关用处

  1. Open API: 将自身数据、能力作为开放平台对外开放. 这必然涉及到客户应用的接入、API权限的管理、调用次数管理等, 必然会有一个统一的入口进行管理
  2. 微服务网关: 负载均衡,缓存,路由,访问控制,服务代理,监控,日志等
  3. API服务管理平台: 由于不同系统间存在大量的API服务互相调用, 因此需要对系统间服务调用进行管理, 清晰的看到个系统调用关系, 对系统间调用进行监控等.
    阅读全文 »

网关验证是粗粒度的鉴权,只是用来隔离外部的无效请求, 比如爬虫; 各服务之间会有细粒度的鉴权, 依靠ip白名单以及token鉴权
混合云情况下, 要考虑子网和公网
请求通过网关层之后, https协议可以转为http协议, 内部之间调用使用http, 减少消耗; 数据协议可以转为protobuffer, 网关与业务层、业务与数据层之间交互均可使用protobuffer

一、问题发现

之前使用配置文件的形式进行管理,比如MySQL配置文件分为:

  • db.properties
  • db.dev.properties
  • db.test.properties
  • db.prod.properties

在部署到对应环境的时候,比如到test环境,运维会执行类似mv db.test.properties db.properties的命令,将对应环境的文件覆盖到程序指定的文件db.properties
除此之外,还有很多配置文件都与运行环境相关联,在不同的环境必须设置不同的值

阅读全文 »