<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dingjs520的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dingjs520</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dingjs520]]></copyright><item><title><![CDATA[提问的智慧-中国版]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/126881813</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/126881813</guid><author>dingjs520</author><pubDate>Thu, 15 Sep 2022 23:41:42 +0800</pubDate><description><![CDATA[Eric S. Raymond 在2004年发表过一篇 How To Ask Questions The Smart Way 文章，最新版是2014年的3.10版。 这篇文章写的非常好，我深受启发。然原文过于冗长，有很多信息也已经过时；网上的 中文版大多是照搬翻译，语感不佳，有浓厚的译制片配音的语调。且文章是站在国外程序员的视角写的。为了更好的宣扬提问的智慧，于是我对原文做了大量的删减和本土化改造，更贴近中国程序员的实际情况。]]></description><category></category></item><item><title><![CDATA[内存还有几十G，为何jvm会oom crash]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/126517183</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/126517183</guid><author>dingjs520</author><pubDate>Thu, 25 Aug 2022 08:52:44 +0800</pubDate><description><![CDATA[内存还有几十G，为何jvm会oom crash]]></description><category></category></item><item><title><![CDATA[生产环境典型问题实录第二期]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/123739514</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/123739514</guid><author>dingjs520</author><pubDate>Fri, 25 Mar 2022 16:36:00 +0800</pubDate><description><![CDATA[生产环境典型问题实录第二期

往期回顾

第一期 ： https://mp.weixin.qq.com/s/Vm7-k2pbpdkw2ZWFzl0-Hg



案例六：方法体内部创建线程池
"pool-2494-thread-1" prio=10 tid=0x00007f885014c800 nid=0xc06d waiting on condition [0x00007f86d20fe000]
   java.lang.Thread.State: WAITING (parking)
	at sun.mis]]></description><category></category></item><item><title><![CDATA[生产环境典型问题实录第一期]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/123739483</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/123739483</guid><author>dingjs520</author><pubDate>Fri, 25 Mar 2022 16:35:32 +0800</pubDate><description><![CDATA[生产环境典型问题实录第一期
列夫·托尔斯泰曰：幸福的家庭都是相似的，不幸的家庭则各有不同。这句话放在软件开发上也同样适用，闻往古，天下之美同，好的程序都是相似的，不好的程序则各有不同。好的程序要考虑健壮性、可用性、高性能、安全性、可扩展性、可维护性, 噫吁嚱，危乎高哉！我们虽无法穷举出引起软件问题的所有场景，但也能看到，一些问题在不断地重复发生。前人不暇自哀，而后人哀之；后人哀之而不鉴之，亦使后人而复哀后人也。前事不忘，后事之师，为使后人有所鉴，我们总结了一些生产环境的典型问题，目前已经有四五十条了（包括非]]></description><category></category></item><item><title><![CDATA[高效能IT人士不二法门，实现35岁退休]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/111065222</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/111065222</guid><author>dingjs520</author><pubDate>Sat, 12 Dec 2020 15:46:50 +0800</pubDate><description><![CDATA[高效能IT人士不二法门，实现35岁退休
工作十年，观察了很多高效能人士的工作习惯，这些人基本都实现了35岁左右脱离I苦海，有些甚至能直接退休。总结了一些他们好的特质，分享给大家。
不懂就问，刻不容缓
只要遇到问题就去问其他人，千万不要试图浪费时间去尝试自己解决。如果自己要去解决一个问题，你还得查各种资料，做实验，每次解决一个问题都要走好几条弯路，太浪费时间了。为何不直接让别人去做这些事，尤其是让那些喜欢钻研的人去做，这样他也开心了，你也节约了大量的时间，一举两得，一石二鸟。
我朋友和我说，前几年刚工作时，有]]></description><category></category></item><item><title><![CDATA[spring2.5.6升级到spring4+java8]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/111057006</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/111057006</guid><author>dingjs520</author><pubDate>Sat, 12 Dec 2020 09:34:37 +0800</pubDate><description><![CDATA[背景
华宇做为全国领先的法律科技公司，在十几年的过程中，开发了数百款软件产品。有些产品开发时间较早，使用的技术栈还是spring2.5.6+java6。这个技术栈存在几个问题

java8相对java6做了很多性能优化，这些年陆陆续续遇到一些java6相关的性能问题，比如java的ClassLoader用的是方法级的synchonized,而java7就已经在ClassLoader中提供了一类一锁。
java8的语法相对java6来说更便捷，生产效率更高。
国外主流开源项目很多都只提供java8以上的SDK]]></description><category></category></item><item><title><![CDATA[Minio共享后端存储快速入门]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79118312</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79118312</guid><author>dingjs520</author><pubDate>Sun, 21 Jan 2018 09:50:19 +0800</pubDate><description><![CDATA[Minio共享后端存储快速入门   

Minio共享模式可以让你使用一个NAS 做为多个Minio服务的存储后端。我我们在设计时已经对多个Minio服务之间的同步做了很多的处理。更多Minio共享模式的设计文档，请访问这里.

Minio共享模式是为了解决在真实场景中存在的一些问题，而且不需要做额外的配置。 
如果你有下列需求，则可以考虑Minio共享模式


你已经买了NAS设备，并想在存储层]]></description><category></category></item><item><title><![CDATA[Minio多租户（Multi-tenant）部署指南]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79118305</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79118305</guid><author>dingjs520</author><pubDate>Sun, 21 Jan 2018 09:48:43 +0800</pubDate><description><![CDATA[Minio多租户（Multi-tenant）部署指南    



单机部署

要在单台机器上托管多个租户，为每个租户运行一个Minio server,使用不同的HTTPS端口、配置和数据目录。



示例1：单主机，单磁盘

以下示例在一块磁盘上托管三个租户。



minio --config-dir ~/tenant1 server --address :9001 /data/tenant1]]></description><category></category></item><item><title><![CDATA[Minio Docker 快速入门]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79111050</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79111050</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:47:38 +0800</pubDate><description><![CDATA[Minio Docker 快速入门    



前提条件

您的机器已经安装docker. 从 这里下载相关软件。



在Docker中运行Minio单点模式。

Minio 需要一个持久卷来存储配置和应用数据。不过, 如果只是为了测试一下, 您可以通过简单地传递一个目录（在下面的示例中为/ data）启动Minio。这个目录会在容器启动时在容器的文件系统中创建，不过所有的数据都会在容器退出时]]></description><category></category></item><item><title><![CDATA[分布式Minio快速入门]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79111047</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79111047</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:47:14 +0800</pubDate><description><![CDATA[分布式Minio快速入门    

分布式Minio可以让你将多块硬盘（甚至在不同的机器上）组成一个对象存储服务。由于硬盘分布在不同的节点上，分布式Minio避免了单点故障。   



分布式Minio有什么好处?

在大数据领域，通常的设计理念都是无中心和分布式。Minio分布式模式可以帮助你搭建一个高可用的对象存储服务，你可以使用这些存储设备，而不用考虑其真实物理位置。 



数据保护]]></description><category></category></item><item><title><![CDATA[Linux服务器上Minio生产环境的内核调优]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79111037</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79111037</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:46:32 +0800</pubDate><description><![CDATA[Linux服务器上Minio生产环境的内核调优    



调优网络参数

以下网络参数设置可帮助确保Minio服务器在生产环境负载上的最佳性能。


tcp_fin_timeout : 一个socket连接大约需要1.5KB的内存，关闭未使用的socket连接可以减少内存占用，避免出现内存泄露。即使另一方由于某种原因没有关闭socket连接，系统本身也会在到达超时时间时断开连接。 tcp_fi]]></description><category></category></item><item><title><![CDATA[Minio Server `config.json` (v18) 指南]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79111029</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79111029</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:45:39 +0800</pubDate><description><![CDATA[Minio Server config.json (v18) 指南    

Minio server在默认情况下会将所有配置信息存到 ${HOME}/.minio/config.json 文件中。 以下部分提供每个字段的详细说明以及如何自定义它们。一个完整的 config.json 在 这里



配置目录

默认的配置目录是 ${HOME}/.minio，你可以使用--config-dir命令]]></description><category></category></item><item><title><![CDATA[Minio对象缓存]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79111023</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79111023</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:44:51 +0800</pubDate><description><![CDATA[对象缓存

默认情况下，对象缓存处于以下设置状态


缓存大小是你内存大小的一半，不过如果你的内存小于8G的话，缓存是不开启的。
缓存对象的过期时间是72小时。
每次过期时间的1/4时间点（每18小时）出发一次过期对象垃圾回收清理。


注意：上述配置不支持手动修改。



特性

GET和PUT操作都会进行缓存。


GET 如果缓存中没有，则将新对象进行缓存，否则直接取缓存中的对象返回。
PU]]></description><category></category></item><item><title><![CDATA[Minio存储桶访问策略]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79111014</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79111014</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:44:11 +0800</pubDate><description><![CDATA[访问策略

该包实现基于访问策略语言规范（Access Policy Language specification）的解析和验证存储桶访问策略 - http://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html



支持以下效果

Allow
Deny




支持以下操作

s3:GetOb]]></description><category></category></item><item><title><![CDATA[Minio存储桶通知指南]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79111008</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79111008</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:42:42 +0800</pubDate><description><![CDATA[Minio存储桶通知指南 存储桶（Bucket）如果发生改变,比如上传对象和删除对象，可以使用存储桶事件通知机制进行监控，并通过以下方式发布出去:
  Notification Targets  AMQP
  MQTT
  Elasticsearch
  Redis
  NATS
  PostgreSQL
  MySQL
  Apache Kafka
  Webhooks
前提条件
从这里下载并安装]]></description><category></category></item><item><title><![CDATA[Minio Browser]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79111001</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79111001</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:41:46 +0800</pubDate><description><![CDATA[Minio BrowserMinio Browser使用Json Web Token来验证JSON RPC请求。初使请求为用户提供的AccessKey和SecretKey生成一个token令牌
目前这些令牌在10小时后到期，这是不可配置的。
启动minio serverminio server /dataJSON RPC APIs.JSON RPC命名空间是Web.服务器操作
ServerInfo]]></description><category></category></item><item><title><![CDATA[minio-admin-rest-api]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/79110993</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/79110993</guid><author>dingjs520</author><pubDate>Fri, 19 Jan 2018 21:40:29 +0800</pubDate><description><![CDATA[管理REST API认证
AWS signatureV4
我们使用minio作为区域。 这里区域仅用于签名计算。
管理接口
ServiceRestart
Status
SetCredentials
LocksList
Clear
Healing
服务管理接口
RestartPOST /?service
x-minio-operation: restart
Response: On success 2]]></description><category></category></item><item><title><![CDATA[javaagent]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/78793490</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/78793490</guid><author>dingjs520</author><pubDate>Wed, 13 Dec 2017 16:36:28 +0800</pubDate><description><![CDATA[Javaagent概述javaagent是一个简单优雅的java agent,利用java自带的instrument特性+javassist字节码编辑技术，实现了无侵入的方法级性能监控。相比于NewRelic或者开源的pinpoint,本工具主打的是简单，我们只记录每个方法的执行次数和时间，并输出到日志。基于javaagent的日志，你可以使用JQL工具进行分析查询，也可以自己去写分析器，这样可以让]]></description><category></category></item><item><title><![CDATA[Minio快速入门]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/78793160</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/78793160</guid><author>dingjs520</author><pubDate>Wed, 13 Dec 2017 16:15:48 +0800</pubDate><description><![CDATA[Minio快速入门    Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口，非常适合于存储大容量非结构化的数据，例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等，而一个对象文件可以是任意大小，从几kb到最大5T不等。 Minio是一个非常轻量的服务,可以很简单的和其他应用的结合，类似 NodeJS, Redis 或者 MySQL]]></description><category></category></item><item><title><![CDATA[文件存储方案对比]]></title><link>https://blog.youkuaiyun.com/dingjs520/article/details/78655556</link><guid>https://blog.youkuaiyun.com/dingjs520/article/details/78655556</guid><author>dingjs520</author><pubDate>Tue, 28 Nov 2017 15:24:33 +0800</pubDate><description><![CDATA[文件存储方案对比需求第三代审判系统会以材料为中心，通过采集案件的各种电子材料，进行管理、分析。 
电子卷宗、文书、档案、音视频材料，当针对材料的深度应用的推广，一个案件将会有上百M甚至上G的电子材料信息。需要针对这些电子材料信息的存储提供行统一的存储方案。
数据安全 
需要实现数据冗余，避免数据的单点故障
可线性扩展 
当数据增长到TB、甚至PB以上时，存储方案需要支持可线性扩展
存储高可用 
某个...]]></description><category></category></item></channel></rss>