阿里云 pod 间不能通过 ingress 的域名 进行访问 解析
Kuberneters 云服务 概念原理
2020-04-27 15:11:50
195
0
问题现象如图:纠正首先我们要纠正一下上面的图,使用 ingress 暴露服务的时候,结构图应该是下面的样子问题分析负载均衡(slb)的地址一般都是供集群外部使用的,它会被当作 service 的扩展 ip,被 iptables 转发。默认,ingress 创建的 service 的 externalTrafficPolicy 属性 为 Local ,所以 pod a 可以访问 pod c 是因为,正好 pod a 和 ingress 的 pod 在同一个 node 上面,所以 pod a 可以访问所有 ingress 服务而 pod b 和 pod c 不在同一个 node 上面,... ...
阅读全文
java 程序 jvm 垃圾回收算法 收集器 和 内存溢出
JAVA 概念原理
2020-04-15 11:15:53
178
0
1.垃圾回收算法(GC,Garbage Collection)红色是标记的非活动对象,绿色是活动对象。标记-清除(Mark-Sweep)GC 分为两个阶段,标记和清除。首先标记所有可回收的对象,在标记完成后统一回收所有被标记的对象。同时会产生不连续的内存碎片。碎片过多会导致以后程序运行时需要分配较大对象时,无法找到足够的连续内存,而不得已再次触发GC。复制(Copy)将内存按容量划分为两块,每次只使用其中一块。当这一块内存用完了,就将存活的对象复制到另一块上,然后再把已使用的内存空间一次清理掉。这样使得每次都是对半个内存区回收,也不用考虑内存碎片问题,简单高效。缺点需要两倍的内存空间... ...
阅读全文
java 程序 jvm 内存分配使用 及 相关概念详解
JAVA 概念原理
2020-04-15 11:10:17
203
0
JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。 1. jvm 内存(图为 java8之前)JVM 内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老年代(Old Generation),非堆内存就一个永久代(Permanent Generation)年轻代又分为 Eden 和 Survivor 区。Survivor 区由 FromSpace 和 ToSpace 组成。Eden 区占大容量,Survivor 两个区占小容量,默认比例是 8:1:1堆内存用途:存... ...
阅读全文
了解 四种前后端接口 REST、gRPC、GraphQL、Webhooks
概念原理
2020-04-13 16:17:40
183
0
1 引言每当项目进入联调阶段,或者提前约定接口时,前后端就会聚在一起热火朝天的讨论起来。可能 99% 的场景都在约定 Http 接口,讨论 URL 是什么,入参是什么,出参是什么。有的团队前后端接口约定更加高效,后端会拿出接口定义代码,前端会转换成(或自动转成)Typescript 定义文件。但这些工作都针对于 Http 接口,今天通过 when-to-use-what-rest-graphql-webhooks-grpc 一文,抛开联调时千遍一律的 Http 接口,一起看看接口还可以怎么约定,分别适用于哪些场景,你现在处于哪个场景。2 概述本文主要讲了四种接口设计方案,分别是:REST、gR... ...
阅读全文