<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mlydaemon的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mlydaemon</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mlydaemon]]></copyright><item><title><![CDATA[每日一坑：eclipse2021 +lombok安装]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/120109658</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/120109658</guid><author>mlydaemon</author><pubDate>Sun, 05 Sep 2021 07:40:55 +0800</pubDate><description><![CDATA[先记一下笔记

贴一下错误：

Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @baa9ce4



说一下解决.]]></description><category></category></item><item><title><![CDATA[06-redis知识图谱，生产问题汇总]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/115227914</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/115227914</guid><author>mlydaemon</author><pubDate>Fri, 26 Mar 2021 09:43:22 +0800</pubDate><description><![CDATA[加机器，扩容永远是解决问题的最佳途径。良好的服务高可用性，不是简单的通过对应用的配置和调优来实现的。简单的说，就是你不可能通过调优让rocketmq达到kafka的吞吐量。你也不可能通过简单的调优，让kafka达到rocketmq的一致性。


...]]></description><category></category></item><item><title><![CDATA[大数据分析之OLTP与OLAP的区别]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/115129461</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/115129461</guid><author>mlydaemon</author><pubDate>Tue, 23 Mar 2021 16:32:43 +0800</pubDate><description><![CDATA[业务类系统主要供基层人员使用，进行一线业务操作，通常被称为OLTP（On-Line Transaction Processing，联机事务处理）。

数据分析的目标则是探索并挖掘数据价值，作为企业高层进行决策的参考，通常被称为OLAP（On-Line Analytical Processing，联机分析处理）。



从功能角度来看，OLTP负责基本业务的正常运转，而业务数据积累时所产生的价值信息则被OLAP不断呈现，企业高层通过参考这些信息会不断调整经营方针，也会促进基础业务的不断优化，这是OLTP与O.]]></description><category></category></item><item><title><![CDATA[02-故障隔离和服务恢复]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/114666463</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/114666463</guid><author>mlydaemon</author><pubDate>Thu, 11 Mar 2021 14:52:24 +0800</pubDate><description><![CDATA[SAE 作为一个 Serverless 平台，具备很多自运维的能力，故障隔离即将故障的应用节点从注册中心摘除。服务恢复即应用恢复后重启服务器。


]]></description><category></category></item><item><title><![CDATA[Serverless 提高 Java 微服务治理效率]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/114666076</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/114666076</guid><author>mlydaemon</author><pubDate>Thu, 11 Mar 2021 14:47:30 +0800</pubDate><description><![CDATA[Serverless 应用引擎（SAE）基于 Alibaba CloudToolkit 插件+ 跳板机可以实现：

本地服务订阅并注册到云端 SAE 内置的注册中心；
	本地服务可以和云端 SAE 服务互相调用。
在传统的发布流程中，客户端有一个服务端调用报错期，这是由于客户端没有及时感知到服务端下线的实例造成的，这种情况主要是因为服务提供者借助微服务，通知消费者来更新服务提供的列表造成的。当微服务注册中心感知到服务下线以后，会通知服务消费者其中一个服务节点已下线，这里有两种方式：注册中心的推送和消费者的轮]]></description><category></category></item><item><title><![CDATA[01-keepalived脑裂现象]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/114587472</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/114587472</guid><author>mlydaemon</author><pubDate>Tue, 09 Mar 2021 16:33:25 +0800</pubDate><description><![CDATA[由于某些原因，导致两台keepalived高可用服务器在指定时间内，无法检测到对方存活心跳信息，从而导致互相抢占对方的资源和服务所有权，然而此时两台高可用服务器有都还存活。
可能出现的原因：
1、服务器网线松动等网络故障；
2、服务器硬件故障发生损坏现象而崩溃；
3、主备都开启了firewalld 防火墙。
4、在Keepalived+nginx 架构中，当Nginx宕机，会导致用户请求失败，但是keepalived不会进行切换，
所以需要编写一个检测nginx的存活状态的脚本，如果nginx不存活，则ki]]></description><category></category></item><item><title><![CDATA[供应链库存管理-柔性快反供应链]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/109289450</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/109289450</guid><author>mlydaemon</author><pubDate>Mon, 26 Oct 2020 14:40:53 +0800</pubDate><description><![CDATA[柔性快反供应链是新零售模式下的产物,体现的是全链环节一体化的紧密协同过程,将商品企划、设计、生产、分销、零售等环节紧密结合,以月/周为单位做PDCA循环(即计划-plan,执行-do,检查-check,处理-act).

   这种模式要求参与企业做好关于分工与协作、信任与交易、产品与服务以及如何更好的服务顾客.要做到这一点其实非常困难,首先外部环境,供应链各个节点的利益点不同,不可能做到信息共享,利益共享.这点上7-11的加盟店商业模式非常值得借鉴,加盟店模式下7-11完全控制价格和消费...]]></description><category></category></item><item><title><![CDATA[供应链库存管理-供应链库存案例分析]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/109287557</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/109287557</guid><author>mlydaemon</author><pubDate>Mon, 26 Oct 2020 12:43:29 +0800</pubDate><description><![CDATA[供应链管理的实现,是把供应商、生产厂家、分销商、零售商等在一条供应链上的所有节点企业都联系起来进行优化,是生产资料以最快的速度,通过生产、分销环节变成增值的产品,到达有消费需求的消费者手中.这不仅可以降低成本,减少社会库存,而且使社会资 源得到优化配置,更重要的是通过信息网络、组织网络实现了生产以及销售的有效链接和物流、信息流、资金流的合理流动.
      供应链库存管理主要是核心企业的供应链模式和运营战略的影响.而且通常是融合出现的,根据运策略的不同对不同的场景采用不同的供应链库存管理策略.]]></description><category></category></item><item><title><![CDATA[供应链库存管理-库存控制策略]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/109218116</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/109218116</guid><author>mlydaemon</author><pubDate>Thu, 22 Oct 2020 11:14:12 +0800</pubDate><description><![CDATA[根据企业在供应链中所担任的角色不同,生产商,供应商,分销商,零售商,物流服务商的库存管理策略各有侧重.但是对于库存物资本身要满足库存物资最优化的原则,及管理成本最优,储存成本最优,物资价值最大化等多角度综合最优.整体上来说都包括物资价值控制,库存变动控制,库存盘点这样的三个层面.]]></description><category></category></item><item><title><![CDATA[供应链库存管理概述]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/109207746</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/109207746</guid><author>mlydaemon</author><pubDate>Wed, 21 Oct 2020 19:36:14 +0800</pubDate><description><![CDATA[VMI是一种供应链集成化运作的决策代理模式，它把客户的库存决策权代理给供应商，由供应商代理分销商或批发商行使库存决策的权力。JMI是一种风险分担的库存管理模式。风险分担表明如果把各地的需求集合起来处理，可以降低需求的变动性，因而当把不同地点的需求汇集起来，一个顾客的高需求很可能被另一个顾客的低需求所抵消。需求变动性的降低能够降低安全库存。CMI是零售商,或者说销售阶段主导,第三方物流是物流主导.CPFR听起来是很高大上,也确实非常有效,只是需要解决的问题也很多.首要问题就是信任问题]]></description><category></category></item><item><title><![CDATA[阿里云负载均衡SLB 详解]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/108583576</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/108583576</guid><author>mlydaemon</author><pubDate>Mon, 14 Sep 2020 17:23:55 +0800</pubDate><description><![CDATA[SLB概念
负载均衡（Server Load Balancer）是将访问流量根据转发策略分发到后端多台云服务器（Elastic Compute Service，简称 ECS）的流量分发控制服务。
负载均衡服务通过设置虚拟服务地址，将位于同一地域的多台ECS实例虚拟成一个高性能、高可用的应用服务池；再根据应用指定的方式，将来自客户端的网络请求分发到云服务器池中。负载均衡服务是ECS面向多机方案的一个配套服务，需要同ECS结合使用。
负载均衡服务会检查云服务器池中ECS实例的健康状态，自动隔离异常状态的ECS实]]></description><category></category></item><item><title><![CDATA[数据与链表，指针，集合的区别]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106634876</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106634876</guid><author>mlydaemon</author><pubDate>Tue, 09 Jun 2020 09:57:32 +0800</pubDate><description><![CDATA[讨论数据结构之间的区别，本质上是讨论数据结构的构造，内存分配，增删改查效率，应用场景这几个层次来考虑，针对数据和链表的区别我们大概可以做如下的归纳。

数组:线性数据结构；连续内存空间，无法改变容量；存储相同类型数据；支持随机访问（查询），插入、删除较慢（时间复杂度O(n)，因为要涉及遍历定位）；业务开发中，适合做底层数据结构。（这点不知道你有没有和我一样在探索String，Nginx，Redis等等吧的时候，也一样疑惑或底层数据结构为什么都是数组）链表：链式数据结构；非连续内存，内存可扩充；存储相同数据类]]></description><category></category></item><item><title><![CDATA[分布式无处不在，数据库事务弱一致性是否必然]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106634241</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106634241</guid><author>mlydaemon</author><pubDate>Tue, 09 Jun 2020 09:33:40 +0800</pubDate><description><![CDATA[在计算机系统中，指令是计算机运行的最小的功能单位。在一个多核计算机中，以指令为单位，涉及两条及以上指令的操作都将面临事物一致性的问题。因为两条以上指令涉及多个CPU协作，已经不满足事务一致性的原则了。深入计算机对机器指令的执行以计算机元器件转变为单位，其实每条指令执行，到元器件最终发生转变，这个过程也是被拆分为若干执行过程。如果我们对计算机运行机制不是很理解，那么我们把原子操作放大一点，比如数据库原子操作，比如分布式事务原子性，比如分布式应用原子性。其实基本上我们的任务计算机操作都是非原子性的，当我们在谈论]]></description><category></category></item><item><title><![CDATA[java中String类为什么要设计成final]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106626642</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106626642</guid><author>mlydaemon</author><pubDate>Mon, 08 Jun 2020 19:08:07 +0800</pubDate><description><![CDATA[这是个很有趣的问题，String设计成final类型，不能被继承、不能被重写，简言之String是不可变的。问题在于为什么不可变呢？这主要是性能与安全性的考虑。String是JVM中使用频率非常高的数据类型，涉及很多底层操作，因此SUN公司的工程师在设计String时，很小心的把整个String设置成final禁止继承，避免被其他人继承后破坏。另外一方面String作为高频使用数据类型，SUN对String的内存分配做了很多优化，比如字符串常量池，就是基于String的不可变性来实现的。

String内存]]></description><category></category></item><item><title><![CDATA[进程内缓存一致性]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106602424</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106602424</guid><author>mlydaemon</author><pubDate>Sun, 07 Jun 2020 15:38:19 +0800</pubDate><description><![CDATA[首先这个是我们不需要考虑的问题，进程内缓存应该在一个进程，一个请求结束后失效。如果需要长时间有效多个进程数据一致，可以使用redis，codis，memcached等外部缓存。
对哪些已经使用进程内缓存来实现多进程数据一致性的问题，通常有三种方案：
1.缓存变化探活，如果任何一个进程内缓存变化，则通知其他缓存。
2.缓存同步多写，双写。例如利用ROcketMQ等消息队列的消息可靠性，同步将缓存变化更新到所有进程。
3.唯一数据中心，进程定时去数据中心拉去数据。

经典的分布式系统理论-CAP一致性（cons]]></description><category></category></item><item><title><![CDATA[Redis缓存穿透、缓存雪崩问题]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106601931</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106601931</guid><author>mlydaemon</author><pubDate>Sun, 07 Jun 2020 15:13:27 +0800</pubDate><description><![CDATA[穿透雪崩主要是因为查询数据库造成的，那么读写分离，缓存数据查询失败不去查数据库就好了。查的时候有即是有，无即是无，不会再查数据库，缓存的穿透和雪崩问题就不存在了。其次添加数据库和缓存同步功能，保证数据库和缓存数据是一致的即可（需要注意的是这时候数据库数据是有限和相对稳定的，其实如果是海量数据同时放入缓存这种设计策略，我个人认为本身就有些胡闹）。

缓存穿透问题
现象：请求缓存中么有对对应key的时候去数据库取，大量的缓存穿透可能造出数据库不可用。
解决方法：
1.数据库查询为空，则空值更新缓存（会增加缓存无]]></description><category></category></item><item><title><![CDATA[Redis基础介绍]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106589791</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106589791</guid><author>mlydaemon</author><pubDate>Sat, 06 Jun 2020 16:37:35 +0800</pubDate><description><![CDATA[简单的说就是11225531，单进程单线程，两种实现方式，两种数据保存模式，五种数据结构，五种数据类型，三种特性，一个文件]]></description><category></category></item><item><title><![CDATA[系统CPU飙高和GC频繁，如何排查]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106588549</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106588549</guid><author>mlydaemon</author><pubDate>Sat, 06 Jun 2020 15:36:28 +0800</pubDate><description><![CDATA[处理过线上问题的同学基本上都会遇到系统突然运行缓慢，CPU 100%，以及Full GC次数过多的问题。当然，这些问题的最终导致的直观现象就是系统运行缓慢，并且有大量的报警。本文主要针对系统运行缓慢这一问题，提供该问题的排查思路，从而定位出问题的代码点，进而提供解决该问题的思路。

对于线上系统突然产生的运行缓慢问题，如果该问题导致线上系统不可用，那么首先需要做的就是，导出jstack和内存信息，然后重启系统，尽快保证系统的可用性。这种情况可能的原因主要有两种：


	代码中某个位置读取数据量较大，导致系统]]></description><category></category></item><item><title><![CDATA[线程池的介绍]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106587495</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106587495</guid><author>mlydaemon</author><pubDate>Sat, 06 Jun 2020 14:43:33 +0800</pubDate><description><![CDATA[线程池的概念

线程池是一种多线程使用模式，线程池在系统启动时即创建大量空闲的线程，程序将一个任务传给线程池，线程池就会启动一条线程来执行这个任务，执行结束以后，该线程并不会死亡，而是再次返回线程池中成为空闲状态，等待执行下一个任务。不同的线程池启动线程和停止线程的模式不一样，整体而言线程池会提供空闲线程执行任务。


线程池的工作机制



线程池模式下，接受任务的主体是线程池，线程池将任务分配给线程。
	线程池负责线程的启动，停止，状态监管，任务分配。
  
线程池的优势


  ...]]></description><category></category></item><item><title><![CDATA[ThreadLocal源码解读内存泄漏分析]]></title><link>https://blog.youkuaiyun.com/mlydaemon/article/details/106585618</link><guid>https://blog.youkuaiyun.com/mlydaemon/article/details/106585618</guid><author>mlydaemon</author><pubDate>Sat, 06 Jun 2020 12:05:01 +0800</pubDate><description><![CDATA[早在JDK1.2的版本中就提供java.lang.ThreadLocal，ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。但是ThreadLocal并不是一个线程，他是一个线程变量。意思是ThreadLocal中填充的变量属于当前线程，该变量对其他线程而言是隔离的。伴随整个线程生命周期存在，可以作为线程执行，对象跨层，父子线程通信，线程追踪的标记。

ThreadLocal作用

1、在进行对象跨层传递的时候，使用ThreadLocal可]]></description><category></category></item></channel></rss>