自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码代码的陈同学

码代码的陈同学

  • 博客(67)
  • 收藏
  • 关注

原创 K8s 安全访问:ServiceAccount

欢迎访问博客原文官方:Kubernetes API 访问控制官方:K8s 认证模块官方:管理 Service Accounts官方:使用准入控制插件本文介绍 ServiceAccount(服务账户,简称sa)的相关内容。访问 K8s Api Server 需要授权,有几种角色需要访问 apiserver:运维用户:通过 kubectl 交互,api server 会绑定一个特定...

2020-03-14 22:06:25 1354

原创 K8s 安全抽象:Secret

欢迎访问博客原文Secret 是对敏感信息的抽象,例如:密码、token、SSH key,其他对象可引用Secret。Pod 使用 Secret 有两种场景:作为 volume 中的文件被挂载到 Pod 中一个或多个容器中拉取镜像时需要使用 secret 作为安全凭证Secret 分类Secret 可分为三类:docker-registry: 创建一个给 Docker R...

2020-03-14 22:03:24 870

原创 20 分钟使用 Kubespray 搞定 K8s 单机版安装

欢迎访问博客原文本文分享 K8s 单机版本 v1.16.3 安装步骤,安装过程20分钟以内。K8s最新 Release 版本为 v1.16.4,v1.18.0 还是 alpha 版本。资源需求Master 节点:2 核 2G,本次采用腾讯云按流量计费的 2核4G 服务器,带宽20M用于下载资源。Master 节点局域网IP:172.17.0.7OS:CentOS 7.6 64位...

2020-01-12 22:23:02 2067

原创 Docker 演示 Nacos Demo

欢迎访问博客原文Nacos 官网Nacos 官方镜像本文以 Docker 演示 Nacos 1.1.4 单机版本,包含使用内嵌数据库和MySQL,官方 nacos-docker 拥有更详细的资料。内嵌数据库方式设置 standalone 模式直接运行即可。docker run -d \--name nacos-server \-p 8848:8848 \-e MODE=sta...

2020-01-05 22:04:21 304

原创 Docker + Spring Boot 演示 SkyWalking Demo

欢迎访问 博客原文本文使用 Docker + Spring Boot 做一个 SkyWalking 的简单 Demo 演示。简介[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IC0jHc0n-1578144817056)(https://imgcdn.chenyongjun.vip/2020/01/02/1.jpeg)]图片与以下内容来自官网,可通过 官...

2020-01-04 21:36:13 2750

原创 Docker 演示 Redis Sentinel 高可用方案

欢迎访问陈同学博客原文Sentinel doc from redisfansSentinel doc from redis official介绍Redis 目前被广泛应用,缓存、限流、PubSub、分布式锁、分布式数据结构等等许多场景都十分实用,Redis 的高可用(High Available) 自然是必不可少。Redis 单机有单点故障,Master-Slave 无法做自...

2019-08-11 15:34:32 185

原创 抓TCP报文诊断 HTTP Content-Length 问题

欢迎访问陈同学博客原文抓TCP报文诊断 HTTP Content-Length 问题本文分享一个 HTTP Content-Length 有误时场的景,以 tcpdump 抓包来做真实演示,同时结合TCP状态进行分析。关于 Content-Length 的场景,比如提供文件下载的服务,需要设置好 Content-Length 以及断点下载的一些参数。小例子下面是 Spring Boo...

2019-08-04 09:26:24 1624

原创 Arthas 可视化被 CGLIB 动态代理后的新类

欢迎访问陈同学博客原文有小伙伴问:“Spring 中被 CGLIB 动态代理后的新类究竟是什么样子?能不能反编译出来看看?”。确实,亲眼看看被动态代理后的新类有助于理解知识。本篇就借助于阿里 Arthas 反编译内存中 class 来做个简单演示。Demo下面是写在 Spring Boot 应用中的一个 Controller,beans 接口返回所有bean,hello() 方法被 ...

2019-08-04 09:20:57 2132

原创 微服务中使用 OpenJ9 JVM 内存占用降60%(相对HotSpot)

欢迎访问陈同学博客原文随着微服务的普及,许多企业踏上微服务之旅。微服务化后,应用数量可能高一个数量级。一般企业,以前三五个应用能支撑业务,微服务化之后应用数量可能多达几十个。每个微服务往往独立部署,内存的消耗自然也高居不下,以前两台8核16G机器指不定就能跑起来,现两台16核64G还不一定够用,同时由于多套环境的存在加上容器编排工具(如K8s)所需的资源,硬件资源的投入自然是成倍增加。在...

2019-07-21 21:36:20 10169

原创 Zuul 动态路由源码及几种实现方式

欢迎访问陈同学博客原文本文介绍Zuul路由的源码以及实现动态路由的几种方式,路由信息可以来自Properties文件、DB、Apollo等。可以阅读 Spring Cloud源码学习之Zuul 简要了解路由源码流程。本文基于 Spring Cloud Finchley.SR1,Spring Boot 2.0.6.RELEASE。路由源码本文基于下图场景做演示,文中代码来自源码,但存在...

2019-06-06 09:13:08 1604

原创 CFCA SSL证书踩坑记

欢迎访问陈同学博客原文本文分享CFCA SSL证书的小坑,简介CFCA SSL后将以一个小例子介绍httpclient使用过程中的证书问题,最后介绍证书问题的处理方式。CFCA SSL简介CFCA 指中国金融认证中心,也是国家级的权威安全认证机构,服务于国内银行、保险、证券等金融企业。官方资料显示:CFCA 是国际CA浏览器联盟组织成员,是国际证书标准的参与者根证书已存在于微软系统...

2019-05-19 13:51:36 8650 1

原创 Nginx配置信息损毁又无备份时如何恢复

欢迎访问陈同学博客原文本文介绍在Nginx配置信息出现问题后,在没有备份的情况下,如何利用Nginx进程的虚拟内存恢复配置信息。问题背景假设 /etc/nginx/site-available 下有 a.example.com.conf、b.example.com.conf 两个配置文件,用于对两个域名做代理。当不小心拷贝了以下数据,粘贴后习惯性的敲了回车键,由于命令中包含了重定向命令...

2019-04-20 23:04:50 3143 1

原创 Feign 上传文件的常见问题

欢迎访问陈同学博客原文Feign 作为 Spring Cloud 中 RPC 工具,利用注解来描述接口,简化了 Java HTTP Client 的调用过程,隐藏了实现细节。本文将介绍利用 Feign 上传文件的几个常见问题。如何上传一个/组文件如何上传多种文件MultipartFile 参数不能为空问题未提供 MultipartFile 参数接口报 no multipart b...

2019-04-10 23:14:12 5155 5

原创 数据从网卡到应用的过程

欢迎访问陈同学博客原文最近看的《网络是怎样连接的》非常有趣,真的是 “计算机网络概论” 图解趣味版。本文写写数据从网卡到应用的过程,内容与图片很多整理自《网络是怎样连接的》、《Tomcat内核设计与剖析》,有的图片因清晰度不够我进行了重绘。总览本文围绕这张图从下至上展开。假设一个HTTP请求的数据到达网卡,那数据是如何被层层处理并到达应用呢?网卡网卡(Network Adapte...

2019-04-07 09:35:11 3273 4

原创 多么痛的领悟,基础数据的全部

欢迎访问陈同学博客原文名词解释:Lookup 指数据字典,常用于表示状态,应用中通常为枚举类,页面上可作为下拉框的数据源。本文以一个小故事分享基础数据维护的一些事。痛苦的原始生活晚上九点,程序在生产环境部署完成,小A终于歇了口气,开始按顺序把各种基础数据录入系统。录入新菜单录入新接口录入Lookup…重复着 Control C/V ,小A回想起开发 F功能 时的场景...

2019-03-06 22:51:36 173

原创 15min运维之新服务器安全设置

欢迎访问陈同学博客原文开发运维一体的小团队,初始化新服务器也是家常便饭,本文分享几个简单的小技巧。防止意外删除重要数据墨菲定律告诉我们,无论概率多小,只要有可能,就一定会发生。无论在哪台机器手抖执行了 rm -rf / 都将是灾难(其他目录也不能乱删呀),测试机可以重装,生产机就 Game Over。借助于 Safe-rm 工具,防止意外,安装 safe-rm 亲测效果如下:$ r...

2019-03-02 20:35:10 299

原创 SpringBoot 中 @EnableWebMvc 导致 Converter 失效

欢迎访问陈同学博客原文问题现象某SpringBoot应用在自定义的 ObjectMapper 中设置了日期反序列化工具DateDeserializer。在 DispatchServlet 解析参数时 org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter 中会用到反序列化工具。@Bean@...

2019-02-13 21:29:34 1814 1

原创 自动备份Linux上的博客数据到坚果云

欢迎访问陈同学博客原文本文主要内容拷贝于这篇文章 备份Linux系统数据到坚果云,自己做了些拓展,感谢作者。本文分享两个博客相关小技巧,一是自动备份Linux上博客数据到坚果云和本机,二是搭建一个图片服务器来存储博客用到的图片。云服务器甩卖时屯了几年低配机,博客数据每天备份在磁盘并定期下载到本地,可这操作是又慢又麻烦。下面介绍利用坚果云支持 WebDAV 特性完成备份操作。##准备工...

2019-02-02 15:08:29 1514

原创 RESTful API 实践

欢迎访问陈同学博客原文猪齿鱼 REST API 规范本文记录了 RESTful API 的一些实践经验,内容综合了部分 后端圈.研习小组 关于 REST 的探讨结果,仅简单带一下理论知识,更多可参考:Roy Thomas Fielding 2000年的 博士论文 中 Chapter 5: Representational State Transfer (REST)阮一峰:理解 R...

2019-01-27 22:48:47 193

原创 Spring Cloud Hystrix 源码学习合集

欢迎访问陈同学博客原文Hystrix: Latency and Fault Tolerance for Distributed Systems近期逐渐学习了 Hystrix 这位 “守护神” 的部分源码,本文作为 Hystrix 系列的小结篇。在刚看完一丢丢源码时,Netflix 官方便已宣布进入 “维护模式”,版本定格在 1.5.18,官宣该版本已足够满足现存应用的需求。同时,官方也...

2019-01-15 09:25:09 347

原创 Spring Cloud 源码学习之 Feign

欢迎访问陈同学博客原文Spring Cloud Doc: Declarative REST Client: Feign本文学习了 Spring Cloud 中 openfeign 组件,代码基于 Finchley.SR1 版本。什么是Feignspring-cloud-openfeign 在 Github 描述了其特性:Declarative REST Client: Feign...

2019-01-09 21:23:22 243

原创 Spring Cloud 源码学习之 Hystrix 请求缓存

欢迎访问陈同学博客原文本文学习了 Hystrix 请求缓存机制。场景先用一个小场景演示下请求缓存。向 服务A 查询一页数据,共10条,每条都有一个orgId字段,需要根据orgId向 服务B 查询orgName。10条数据中orgId有8条相同,剩余2条相同。下面写下伪代码:方式一:循环10次:for (org : 10条数据) { org.setOrgName(向服务B...

2018-12-19 00:06:55 208

原创 Spring Cloud 源码学习之 HystrixRequestContext

欢迎访问陈同学博客原文前面写过 Spring Cloud 之 Hystrix 跨线程传递数据,写的是跨线程传递数据的表象,其实就是调试了一把,记录一下。今天写下核心:HystrixRequestContext。HystrixRequestContext 表示 request level的context,用于存储 request level 的数据。与此相对的是 thread level的数...

2018-12-15 13:33:17 1335

原创 Spring Cloud 源码学习之 Hystrix Metrics 收集

欢迎访问陈同学博客原文文中源码基于 Spring Cloud Finchley.SR1、Spring Boot 2.0.6.RELEASE.Hystrix 其他文章:Spring Cloud 源码学习之 Hystrix 入门、Spring Cloud 源码学习之 Hystrix 工作原理、Spring Cloud 之 Hystrix 跨线程传递数据在 Hystrix Command ...

2018-12-13 21:28:05 1026

原创 Spring Cloud 源码学习之 Hystrix 熔断器

欢迎访问陈同学博客原文文中源码基于 Spring Cloud Finchley.SR1、Spring Boot 2.0.6.RELEASE.本文学习了Hystrix的原理、配置和源码,包含滑动窗口、状态变化等。简介circuit-breaker: circuit表示电路,大家译为熔断器非常精准。回想起小时候,家里保险丝突然被烧断,需 手工更换一根新的保险丝;后来,保险丝被取代,电...

2018-12-13 21:24:15 321

原创 Spring Cloud 源码学习之 Hystrix 工作原理

欢迎访问陈同学博客原文Spring Cloud 源码学习之 Hystrix 入门Spring Cloud 之 Hystrix 跨线程传递数据本文学习了 Hystrix 工作原理及源码,关注点在整体处理流程,不涉及具体的实现细节。后续将逐渐写Metrics收集、断路器、隔离、请求缓存等,有兴趣可以关注奥。下面 流程图 来源于 Hystrix Wiki,展现了 Hystrix 工作原理...

2018-11-26 23:46:36 295

翻译 HTTPS URL 传参安全吗?

欢迎访问陈同学博客原文原文:How Secure Are Query Strings Over HTTPS? by HttpWatch译者:陈同学译者注:有人说他抓包能抓到HTTPS中的URL参数,我就纳闷了,翻译一篇小短文学习一下。请求参数能通过URL安全传递吗? 当客户看到 HttpWatch 中的 HTTPS请求后经常会问这个问题,同时客户也想知道还有谁能看到这些数据。举个例子...

2018-11-08 21:58:58 8399

原创 利用 HTTP Security Headers 提升站点安全性

欢迎访问陈同学博客原文产品不断迭代,安全却很少关注,这在小团队司空见惯吗? 前两天拿到一份站点的安全检测报告:例举几点:你是否将 Mysql、Redis、Mongo 等端口暴露在公网?你是否采用 22、3306这种极易被扫描的默认端口?你是否强制使用 HTTPS?是否将HTTP重定向到了HTTPS?你是否设置了 HTTP Security Headers?…还有检测不出来的...

2018-11-05 12:11:38 8778

原创 一键清理 Nexus 中无用的 Docker 镜像

欢迎访问陈同学博客原文现许多团队使用 Nexus 来管理 Docker 镜像,产品不断迭代,镜像仓库占用的磁盘空间也越来越大。由于 Nexus 的控制台并未提供批量操作镜像功能,清理镜像十分不便。本文分享一个清理 Nexus 中 Docker 镜像的小工具 — nexus-cli。可参考 nexus-cli 的相关资料,nexus-cli GitHub、开发者博客原文、Nexus 官方博客...

2018-11-05 12:07:03 3824

原创 Nginx 中的两种限流方式

欢迎访问陈同学博客原文系统设计时一般会预估负载,当系统暴露在公网中时,恶意攻击或正常突发流量等都可能导致系统被压垮,而限流就是保护措施之一。限流即控制流量,本文将记录 Nginx 的二种限流设置。生活中的 “限流”?限流并非新鲜事,在生活中亦无处不在,下面例举一二:博物馆:限制每天参观总人数以保护文物高铁安检:有若干安检口,旅客依次排队,工作人员根据安检快慢决定是否放人进去。遇到节...

2018-10-29 20:27:37 23953 5

原创 Spring Cloud 之 Hystrix 跨线程传递数据

欢迎访问陈同学博客原文本文以一个技术场景来学习 Hystrix 跨线程传递数据的知识。将先简述ThreadLocal、InheritableThreadLocal跨父子线程传递数据,再进入主题。基于Spring Boot 2.0.6.RELEASE, Spring Cloud Finchley.SR1。技术场景服务A 通过 Feign + Hystrix 调用服务B,服务间调用时需传...

2018-10-29 20:24:55 2798

转载 浏览器连接限制

欢迎访问陈同学博客原文原文: Browser connection limitations from Diffusion Cloud 6.1.3 User Manual译者:陈同学译者注:仅翻译部分段落,了解浏览器连接限制基础知识,可以用于配置服务端限流策略、绕过浏览器连接限制等。浏览器会限制同一域名的HTTP并发连接数,这定义在HTTP规范(RFC2616)中。大多数现代浏览器针...

2018-10-13 19:49:11 942

原创 Nginx 之 转发数据时请保持 Host

欢迎访问陈同学博客原文Tip: keep the Host header via nginx proxy_passList of HTTP header fields背景今天在调试一项 nginx 配置时手贱不小心注释掉了 proxy_set_header Host $host; 配置,导致所有请求都503。请求路径如下:请求 -> nginx1 -> nginx2...

2018-10-13 19:47:40 5623

原创 Nginx 之 X-Forwarded-For 中首个IP一定真实吗?

欢迎访问陈同学博客原文使用 Nginx 基于客户端IP进行限流时,需在代理中拿到客户端真实IP。获取IP方式有多种,如利用 remote_addr、X-Real-IP、X-Forwarded-For等。以前看到一些项目通过获取 X-Forwarded-For 中首个IP作为真实IP,这其实有些不妥之处。本文记录下在 Nginx 作反向代理时, X-Forwarded-For 及其他获取真实...

2018-10-13 19:45:25 5359

原创 CS两端TLS版本不适配导致Connection reset问题

欢迎访问陈同学博客原文问题背景近期平台在公司的一个出口IP流量偶尔抖动,在与运营商扯皮无结果后,IT帮忙开了一条新的专线。我们需要把域名在公网的DNS指向新的出口IP。下面是简图:旧:流量经公网IP 126,采用端口映射直接到平台的代理机,然后再转发给后端具体的业务代理。新:流量经公网IP 189,然后经公司统一代理(Proxy A),由代理把流量转发到我们自己的代理上。切换D...

2018-10-01 08:36:53 4023

原创 Spring Cloud 实战之 Zuul 网关不响应任何请求

欢迎访问陈同学博客原文本文基于一个线上真实问题。在 Zuul 无任何安全防护措施时,若遇到较大流量(单个Zuul应用在默认配置下200并发即可),将产生非常严重的后果。本文主要是探寻下问题产生的原因。问题背景与即时处理先简述下问题背景与即时处理。网络拓扑:请求 -> nginx -> 容器编排工具的LB(Haproxy) -> 网关(Zuul) -> 具体...

2018-09-25 22:29:02 5248

原创 Spring Cloud 源码学习之 Hystrix 入门

欢迎访问陈同学博客原文 Hystrix 功能非常多,本文仅对 Hystrix 源码做入门学习。为便于阅读,文中源码有较大删减,仅保留入门学习必要的源码,降低其他逻辑的干扰。从 Hystrix 名字说起Spring Cloud 众多组件,了解其名字背后的寓意也是一种乐趣。下面是我拼的一张图,分别为:Hystrix、豪猪、刺猬。Hystrix 译为 “豪猪”,豪猪...

2018-09-16 22:54:20 1005

原创 Spring Cloud之极端续租间隔时间的影响

欢迎访问陈同学博客原文本文基于某环境一个真实Case,它配置了非常极端的续租间隔时间。虽然知道服务注册的基本知识,但未深入了解过,正好基于这个Case学习下。问题现象先简述下问题现象。日志中大约以几秒一次的频率循环出现 TimedSupervisorTask 67 task supervisor timed out摘除流量后,Eden区约800M,Minor GC频率约...

2018-08-29 09:30:09 1299

原创 jstack是如何获取threaddump的?

欢迎访问陈同学博客原文JDK提供了许多命令行工具用于监视JVM,让我们可以了解其异常堆栈、GC日志、threaddump、heapdump等信息。一时好奇,想看看jstack是如何实现的?jstack使用小例子先以一个小场景简单示范下 jstack 的使用。场景:Java应用持续占用很高CPU,需要排查一下。模拟:造个场景简单模拟下,没什么实际意义,仅作演示。我启动了1...

2018-08-07 00:00:12 3365 1

翻译 Java内存模型

原文:Java Memory Model by Jakob Jenkov on 2014-12-18 翻译:陈同学, 注:原文撰写于14年,部分小知识点描述已不准确。Java内存模型(简称JMM)指定了JVM如何利用计算机内存(RAM)进行工作。JMM与整个计算机的模型类似,这个模型自然也包含内存模型,即Java内存模型(AKA)。如果你想设计出良好的并发程序,理解JMM十分...

2018-07-25 00:03:11 134

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除