prometheus中kong指标相关
prometheus中kong指标相关kong插件提供的指标
名称
类型
单位
说明
kong_bandwidth
counter
字节数bytes
kong中每个服务消耗的总带宽(字节)
kong_datastore_reachable
gauge
是否
kong对数据库是否可以访问(1:正常 2:不正常)
kong_http_status
counter
服务数
kong中每个服务的状态码
kong_latency_count
counter
调用次数
kong中每个服务的调用次数
kong_latency_sum
counter
调用耗时ms
kong中每个服务的调用耗时
kong_latency_bucket
histogram
服务数
kong中的服务在各个耗时区间的分布(类型设有:kong内部处理耗时 request请求耗时 ,upstream代理上游服务器耗时)
kong_nginx_http_current_connections
gauge
连接数
kong当前的连接数(状态设有:accepted、active、handled ...
Maven的基本使用
Maven的基本使用设置代理在公司开发可能需要代理才能连上互联网,maven中同样也可以配置相关代理拉取互联网上仓库的jar
12345678910<proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>proxyuser</username> <password>proxypass</password> <host>proxy.host.net</host> <port>80</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts></proxy>
id:代理的名称
active:表示该代理是否激活
protocol ...
K8s中部署VS Code web版本
K8s中部署VS Code web版本PVC123456789101112apiVersion: v1kind: PersistentVolumeClaimmetadata: name: code-serverspec: accessModes: - ReadWriteMany resources: requests: storage: "640Gi" volumeName: storageClassName: nfs
Service12345678910111213apiVersion: v1kind: Servicemetadata: name: code-server namespace: srespec: type: NodePort ports: - port: 8080 targetPort: 8080 nodePort: 30028 selector: app: code-server
Deployment12345678910111213141516171819202122232425262728 ...
Dubbo、Spring Cloud和K8s的横向对比
微服务中Dubbo、Spring Cloud和K8s的横向对比
对比项目
Dubbo
Spring Cloud
K8s
服务发现和LB
ZK/Nacos + Client
Eureka + Ribbon
Service
API网关
NA
Zuul
Ingress
配置管理
Diamond/Nacos
Spring Cloud Config
ConfigMaps/Secrets
容错限流
Sentinel
Hystrix
HealthCheck/Probe/ServiceMesh
日志监控
ELK
ELK
EFK
Metrics监控
Dubbo Admin/Monitor
Actuator/MicroMeter + Prometheus
kube-metrics + Prometheus
调用链监控
NA
SpringCloud Sleuth/Zipkin
Jaeger/Zipkin
应用打包
Jar/War
Uber Jar/War
Docker Image/Helm
服务框架
Dubbo RPC
Spring(Boot) REST
框架无关
...
node-export中连接数相关指标
node-export中连接数相关指标tcp相关指标
名称
类型
单位
说明
node_netstat_Tcp_InErrs
counter
报文数
TCP 接收的错误报文数
node_netstat_Tcp_InSegs
counter
报文数
TCP 接收的目前所有建立连接的错误报文数
node_netstat_Tcp_OutSegs
counter
报文数
TCP 发送的报文数(包括当前连接的段但是不包括重传的段)
node_netstat_Tcp_RetransSegs
counter
报文数
TCP 重传报文数
node_netstat_Tcp_CurrEstab
counter
报文数
当前状态为 ESTABLISHED 或 CLOSE-WAIT 的 TCP 连接数
node_netstat_Tcp_ActiveOpens
counter
报文数
已从 CLOSED 状态直接转换到 SYN-SENT 状态的 TCP 连接数
node_netstat_Tcp_PassiveOpens
counter
报文数
已从 LISTEN 状态直接转换到 ...
Lombok的优点与缺点
Lombok的优点与缺点Lombox的使用
IDE中安装Lombok插件,目前Lombok支持多种IDE,其中包括主流的Eclips、Intellji IDEA、Myeclipse等都是支持的
导入相关依赖,Lombok 支持使用多重构建工具进行导入依赖,目前主要支持maven、gardle、ant等均支持
123456<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope></dependency>
代码中使用注解,Lombok精简代码的方式主要是通过注解来实现,其中常用的有@Data、@Getter/@Setter、@Builder、@NonNull等
12345678910/**使用@Data注解在类上,相当于同时使用了@ToStr ...
Kubernetes Kube-proxy解析
Kubernetes Kube-proxy解析在Kubernetes集群的每个Node上都会运行一个kube-proxy服务进程,我们可以把这个进程看作Service的透明代理兼负载均衡器,其核心功能是将到某个Service的访问请求转发到后端的多个Pod实例上。此外,Service的Cluster IP与NodePort等概念是kube-proxy服务通过iptables的NAT转换实现的,kube-proxy在运行过程中动态创建与Service相关的iptables规则,这些规则实现了将访问服务(Cluster IP或NodePort)的请求负载分发到后端Pod的功能。
kube-proxy的发展kube-proxy第一版起初,kube-proxy进程是一个真实的TCP/UDP代理,类似HA Proxy,负责从Service到Pod的访问流量的转发,这种模式被称为userspace(用户空间代理)模式。
当某个Pod以Cluster IP方式访问某个Service的时候, 这个流量会被Pod所在本机的iptables转发到本机的kube-proxy进程, 然后由kube-proxy ...
Kubernetes Kubelet解析
Kubernetes Kubelet解析在Kubernetes集群中,在每个Node(又称Minion)上都会启动一个kubelet服务进程。该进程用于处理Master下发到本节点的任务,管理Pod及Pod中的容器。每个kubelet进程都会在API Server上注册节点自身的信息,定期向Master汇报节点资源的使用情况,并通过cAdvisor监控容器和节点资源。
Pod管理kubelet通过以下几种方式获取自身Node上要运行的Pod清单:
文件:kubelet启动参数“–config”指定的配置文件目录下的文件(默认目为“/etc/kubernetes/manifests/”)通过–file-check-frequency设置检查该文件目录的时间间隔,默认为20s。
HTTP端点(URL):通过“–manifest-url”参数设置。通过–http-check-frequency设置检查该HTTP端点数据的时间间隔,默认为20s。
API Server:kubelet通过API Server监听etcd目录,同步Pod列表。
所有以非API Server方式创建的Pod都叫 ...
Kubernetes Scheduler解析
Kubernetes Scheduler解析Kubernetes Scheduler的作用是将待调度的Pod(API新创建的Pod、Controller Manager为补足副本而创建Pod等)按照特定的调度算法和调度策略绑定(Binding)到集群中某个合适的Node上,并将绑定信息写入etcd中。在整个调度过程中涉及三个对象,分别是待调度Pod列表、可用Node列表,以及调度算法和策略。简单地说,就是通过调度算法调度为待调度Pod列表中的每个Pod从Node列表中选择一个最适合的Node。
Kubernetes Scheduler当前提供的默认调度流程分为以下两步:
预选调度过程,即遍历所有目标Node,筛选出符合要求的候选节点。为此,Kubernetes内置了多种预选策略(xxx Predicates)供用户选择。
确定最优节点,在第1步的基础上,采用优选策略(xxxPriority)计算出每个候选节点的积分,积分最高者胜出。
预选策略NoDiskConflict判断备选Pod的gcePersistentDisk或AWSElasticBlockStore和备选的节点中已存在 ...
集群中数据连接数的调整
集群中数据连接数的调整postgres数据库中连接数的查询12345# 查询当前连接数:select count(1) from pg_stat_activity;# 查询最大连接数show max_connections;
修改容器参数1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253apiVersion: extensions/v1beta1kind: Deploymentmetadata: labels: application: route-pg cluster: admin name: route-pg namespace: adminspec: replicas: 1 selector: matchLabels: application: route-pg cluster: admin template: metadata: labels: appl ...