<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一叶知秋的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/smartbetter</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smartbetter]]></copyright><item><title><![CDATA[Spring Boot 整合 Prometheus]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/120586873</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/120586873</guid><author>smartbetter</author><pubDate>Sun, 19 Dec 2021 17:07:36 +0800</pubDate><description><![CDATA[Prometheus 是一款面向云原生应用程序的开源监控工具，常用于监控微服务、操作系统、MySQL、Redis、Flink、RocketMQ / RabbitMQ / Kafka、K8S 等。Spring Boot 整合 Prometheus 一般使用的是 actuator 这个项目，actuator 是 Spring Boot 的子项目，为应用提供了强大的监控能力。]]></description><category></category></item><item><title><![CDATA[Linux 下 Prometheus 安装与运维]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/120403957</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/120403957</guid><author>smartbetter</author><pubDate>Mon, 08 Nov 2021 23:23:39 +0800</pubDate><description><![CDATA[Prometheus 是一款面向云原生应用程序的开源监控工具，常用于监控微服务、操作系统、MySQL、Redis、Flink、RocketMQ / RabbitMQ / Kafka、K8S 等。]]></description><category></category></item><item><title><![CDATA[Linux 的体系结构]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/101165838</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/101165838</guid><author>smartbetter</author><pubDate>Fri, 27 Sep 2019 15:49:02 +0800</pubDate><description><![CDATA[DispatcherServlet 是 Spring MVC 的分发器，本身是个 Servlet，是 Spring MVC 的核心。]]></description><category></category></item><item><title><![CDATA[Spring MVC 工作原理]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/100806496</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/100806496</guid><author>smartbetter</author><pubDate>Fri, 13 Sep 2019 18:04:38 +0800</pubDate><description><![CDATA[Linux 的体系结构主要分为用户态（用户上层活动）和内核态，在 Linux 启动的时候，首先会启动内核，内核从本质上看是一段管理计算机硬件设备的程序。

内核为上层应用程序提供了访问的接口，即系统调用，是一种不能再简化的操作。而公用函数库是对系统调用的封装，方便用户调用。
Shell 本质是一个命令解释器，可编程。

...]]></description><category></category></item><item><title><![CDATA[Spring AOP 的使用和实现原理]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/100716557</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/100716557</guid><author>smartbetter</author><pubDate>Fri, 13 Sep 2019 15:18:41 +0800</pubDate><description><![CDATA[软件工程有个基本原则，即关注点分离，不同的问题交给不同的部分去解决，面向切面编程 AOP 正是此种技术的体现，通用化功能代码的实现对应的就是所谓的切面（Aspect），业务功能代码和切面代码分开后，架构将变得高内聚低耦合。]]></description><category></category></item><item><title><![CDATA[Spring IOC 实现原理]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/100672806</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/100672806</guid><author>smartbetter</author><pubDate>Tue, 10 Sep 2019 23:18:57 +0800</pubDate><description><![CDATA[IOC（Inversion of Control）即控制反转，可以说是 Spring 最核心的部分，IOC 是一种思想，使得开发者从繁琐的对象交互中解脱出来，进而专注对象本身，更进一步突出面向对象。了解 IOC，需要先了解下依赖注入（Dependency Inversion，DI）。]]></description><category></category></item><item><title><![CDATA[RPC 实现原理]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/100360835</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/100360835</guid><author>smartbetter</author><pubDate>Mon, 02 Sep 2019 20:10:45 +0800</pubDate><description><![CDATA[近几年随着微服务化项目的崛起，逐渐成为许多公司中大型分布式系统架构的主流方式，而今天所说的 RPC 在这其中扮演着至关重要的角色。随着这段日子公司项目微服务化的演进，发现在日常开发中都在隐式或显式的使用 RPC，一些刚刚接触 RPC 的小伙伴会感觉无所适从，而一些入行多年的老手虽然使用 RPC 经验丰富，但有些对其原理也一知半解，缺乏对原理的深入理解，往往也会造成开发中的一些误用。]]></description><category></category></item><item><title><![CDATA[Redis 数据库铁律]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/100160113</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/100160113</guid><author>smartbetter</author><pubDate>Fri, 30 Aug 2019 19:52:14 +0800</pubDate><description><![CDATA[Redis 是一个开源的高性能的 Key-Value 数据库，本文介绍了使用 Redis 时的开发规范，从键值设计、命令使用等方面进行说明，通过本文的介绍可以减少使用 Redis 过程中带来的问题。]]></description><category></category></item><item><title><![CDATA[MySQL 数据库规范]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/100160069</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/100160069</guid><author>smartbetter</author><pubDate>Fri, 30 Aug 2019 15:35:48 +0800</pubDate><description><![CDATA[好的数据库规范有助于减少软件实现的复杂度，降低沟通成本，本铁律主要涵盖了建库建表、建索引、写 SQL、ORM 映射等方面的处理约定。]]></description><category></category></item><item><title><![CDATA[Java 开发规范]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/100156528</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/100156528</guid><author>smartbetter</author><pubDate>Fri, 30 Aug 2019 14:37:40 +0800</pubDate><description><![CDATA[好的代码规范有助于减少软件实现的复杂度，降低沟通成本，本规范主要涵盖了软件设计、工程结构、编程、异常日志、单元测试、安全等方面的规范。]]></description><category></category></item><item><title><![CDATA[Redis 性能调优——内存优化]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/97971151</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/97971151</guid><author>smartbetter</author><pubDate>Wed, 31 Jul 2019 22:24:43 +0800</pubDate><description><![CDATA[Redis 云平台 CacheCloud 提供一个Redis云管理平台：实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少运维成本和误操作，提高机器的利用率，提供灵活的伸缩性，提供方便的接入客户端。]]></description><category></category></item><item><title><![CDATA[Redis 性能调优——缓存设计优化]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/97953883</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/97953883</guid><author>smartbetter</author><pubDate>Wed, 31 Jul 2019 19:51:18 +0800</pubDate><description><![CDATA[Redis 是一个开源的高性能的 Key-Value 服务器。本篇主要介绍一下缓存的设计与优化。]]></description><category></category></item><item><title><![CDATA[Redis 技术内幕——布隆过滤器]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/97372556</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/97372556</guid><author>smartbetter</author><pubDate>Wed, 31 Jul 2019 19:48:33 +0800</pubDate><description><![CDATA[Redis Cluster（集群）是官方提供的集群功能。Redis 在 3.0 版本中提供了 Redis Cluster 来满足分布式的需求。为什么需要集群？并发量，据 Redis 官方测试，有 50 个并发程序来执行 10 万次请求，Redis 读的速度达到了 11 万次/秒，写的速度达到了 8.1 万次/秒。那如果业务需要 100 万次/秒呢？ 数据量，一台生产机器内存一般在 16G~256G，如果业务需要 500G 数据呢？]]></description><category></category></item><item><title><![CDATA[Redis 技术内幕——Redis Cluster]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/96750878</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/96750878</guid><author>smartbetter</author><pubDate>Thu, 25 Jul 2019 10:17:27 +0800</pubDate><description><![CDATA[Redis 在 3.0 版本中提供了 Redis Cluster (集群) 来满足分布式的需求。Redis Cluster 采用无中心结构，每个节点保存数据和整个集群的状态，每个节点都和其他所有节点连接，节点之间使用流言协议 (Gossip Protocols) 去传播信息以及发现新的节点。]]></description><category></category></item><item><title><![CDATA[Redis 技术内幕——Redis Sentinel]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/96593166</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/96593166</guid><author>smartbetter</author><pubDate>Sun, 21 Jul 2019 19:22:29 +0800</pubDate><description><![CDATA[Redis Sentinel（哨兵）是 Redis 官方提供的集群管理工具，是 Redis 高可用的解决方案，本身是一个独立运行的进程，它可以监视多个 Master-Slave 集群，发现 Master 宕机之后，能进行自动切换，将该 Master 下的某个 Slave 晋升为 Master，继续处理请求。]]></description><category></category></item><item><title><![CDATA[Redis 技术内幕——主从同步原理]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/94388363</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/94388363</guid><author>smartbetter</author><pubDate>Thu, 18 Jul 2019 15:09:04 +0800</pubDate><description><![CDATA[单机 Redis 可能存在机器故障、容量瓶颈和 QPS 瓶颈。主从复制为一个数据提供了多个副本，扩展了读性能。一个 Master 可以有多个 Slave，一个 Slave 只能有一个 Master，Redis 数据流向是单向的，Master 到 Slave。]]></description><category></category></item><item><title><![CDATA[MySQL 性能调优——索引优化]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/93887733</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/93887733</guid><author>smartbetter</author><pubDate>Mon, 01 Jul 2019 13:29:32 +0800</pubDate><description><![CDATA[对于任何系统来说，监控都是重要的组成部分。数据库是一切系统的核心组件，数据库的稳定性从一定程度上决定了系统的稳定性，所以，对于数据库的监控，就显得尤为重要了。常见的开源监控软件有 Nagios、Zabbix。这些监控软件，或是提供了数据库监控插件，或是允许用户以插件的形式开发自己对数据库的监控脚本，并且支持的脚本语言也是多种多样的，用户完全可以按照自己的习惯，来选择自己的监控软件，以及编写适合自己的监控脚本。]]></description><category></category></item><item><title><![CDATA[MySQL 性能调优——SQL 优化]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/93541792</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/93541792</guid><author>smartbetter</author><pubDate>Fri, 28 Jun 2019 10:23:42 +0800</pubDate><description><![CDATA[随着业务的不断增长，数据库中的数据也会越来越多，数据库的压力会越来越大，我们会发现，在业务繁忙的时候，数据库的性能会直线下降，这时为了保证良好的性能，需要想办法分担数据库的压力。分担数据库的读负载可以使用主从复制的方式，增加只读从数据库，通过读写分离的方式把数据库的读负载分担到不同的从数据库中，这时在一段时间内已经可以解决问题了。随着业务的发展，会发现，单一的主数据库已经无法承担写负载了，那么这时就需要对单一的主数据库进行拆分了。]]></description><category></category></item><item><title><![CDATA[MySQL 性能调优——库表结构优化]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/93502395</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/93502395</guid><author>smartbetter</author><pubDate>Wed, 26 Jun 2019 23:21:44 +0800</pubDate><description><![CDATA[如何设计最优的数据库表结构，如何建立最好的索引，以及如何扩展数据库的查询，这些对于高性能来说都是必不可少的。但是只有这些还不够，要获得良好的数据库性能，我们还要设计合理的数据库查询，如果查询设计的很糟糕，即使增加再多的只读从库，表结构设计的再合理，索引再合适，只要查询不能使用到这些东西，也无法实现高性能的查询。所以说查询优化，索引优化，库表结构优化需要齐头并进。]]></description><category></category></item><item><title><![CDATA[MySQL 技术内幕——MySQL Cluster]]></title><link>https://blog.youkuaiyun.com/smartbetter/article/details/92419611</link><guid>https://blog.youkuaiyun.com/smartbetter/article/details/92419611</guid><author>smartbetter</author><pubDate>Tue, 25 Jun 2019 22:14:57 +0800</pubDate><description><![CDATA[索引对于数据库的影响非常关键，索引的主要作用就是告诉存储引擎如何快速的找到需要的数据。当表中的数据比较少时，索引的作用可能还不是很明显，因为此时表中的数据基本上可以完全缓存在内存中，就算进行全表扫描也不会太慢。而随着表中数据越来越多，查询频率也越来越高，内存已经不能完全缓存所有数据的时候，索引的作用就会显得越来越重要。MySQL 的索引是在存储引擎层实现的，而不是在 MySQL 的服务器层实现的，这也就决定了不同存储引擎上的索引可能用的方式是不同的。同是也不是所有的存储引擎都支持所有的索引类型。即使是同一种]]></description><category></category></item></channel></rss>