<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AttributeSet的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/AttributeSet</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AttributeSet]]></copyright><item><title><![CDATA[死锁问题排查]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/128905102</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/128905102</guid><author>AttributeSet</author><pubDate>Mon, 06 Feb 2023 17:29:03 +0800</pubDate><description><![CDATA[数据库死锁排查]]></description><category></category></item><item><title><![CDATA[搭建k8s集群]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/124806872</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/124806872</guid><author>AttributeSet</author><pubDate>Mon, 16 May 2022 21:37:14 +0800</pubDate><description><![CDATA[1、准备机器：centos7 * 3

172.16.240.128
172.16.240.129
172.16.240.130

2、设置网卡信息(master/node)

vi /etc/sysconfig/network-scripts/ifcfg-ens33


TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6..]]></description><category></category></item><item><title><![CDATA[flink on yarn部署]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/124320215</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/124320215</guid><author>AttributeSet</author><pubDate>Thu, 21 Apr 2022 14:51:57 +0800</pubDate><description><![CDATA[官网下载对应的版本

flink版本-1.13.6

hadoop版本-3.2.1

步骤：

首先安装jdk

1、配置hosts

vi /etc/hosts

例如：  


192.168.0.1 flink1
192.168.0.3flink2
192.168.0.3flink3

2、防火墙关闭


firewall-cmd --state # 查看是否running
systemctl stop firewalld #停止firewall
systemctl disable fire...]]></description><category></category></item><item><title><![CDATA[mac升级Monterey12.3 AccessClient打不开]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/124309956</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/124309956</guid><author>AttributeSet</author><pubDate>Wed, 20 Apr 2022 23:14:47 +0800</pubDate><description><![CDATA[搜了一圈发现是由于新系统将python2运行库移除了。

解决方案:进入application之后找到accessclient
进入Contents/Resources/Scripts，进入main.scpt文件中的python修改成python3。



修改完之后进入bastion，点击堡垒机跳转发现还是闪退，不成功。

进入terminal，运行python3，发现报错



在macos升级12.3之后删除了CommandLineTools相关包。

运行xcode-select --install]]></description><category></category></item><item><title><![CDATA[HotSpot逃逸分析]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/121977758</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/121977758</guid><author>AttributeSet</author><pubDate>Thu, 16 Dec 2021 16:30:24 +0800</pubDate><description><![CDATA[JIT

即时编译（Just-in-time Compilation，JIT）是一种通过在运行时将字节码翻译为机器码，从而改善字节码编译语言性能的技术。在HotSpot实现中有多种选择：C1、C2和C1+C2，分别对应client、server和分层编译。 1、C1编译速度快，优化方式比较保守； 2、C2编译速度慢，优化方式比较激进； 3、C1+C2在开始阶段采用C1编译，当代码运行到一定热度之后采用G2重新编译； 在1.8之前，分层编译默认是关闭的，可以添加-server -XX:+TieredCompi]]></description><category></category></item><item><title><![CDATA[jvm调优之分层编译]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119993509</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119993509</guid><author>AttributeSet</author><pubDate>Mon, 30 Aug 2021 11:28:12 +0800</pubDate><description><![CDATA[1 问题

  最近，在某个高QPS的服务在重启的时候，如图1.1所示，重启会load 非常高，出现尖刺，短信报警CPU使用率过高，然后一段时间负载就降下来。搜索下网络的文章，启动后高负载的原因大致是由于启动，随着代码的执行，jvm的jit编译器会将部分热点代码编译为目标机器代码，这时产生的编译线程会占用大量的cpu 导致系统负载高。但是通过top -H -p 查看编译线程的cpu 使用率，发现cpu 使用率比其他线程略高，但是没有明显差距，但是比较其他的请求线程，加在一起的cpu 使用率还是很可观。...]]></description><category></category></item><item><title><![CDATA[分布式事务LCN和seata对比]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119882503</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119882503</guid><author>AttributeSet</author><pubDate>Tue, 24 Aug 2021 09:30:31 +0800</pubDate><description><![CDATA[一、LCN实现原理
1.发起方与参与方都与我们的LCN管理器一直保持长连接；
2.发起方在调用接口之前，先向LCN管理器申请一个全局的事务分组id；
3.发起方调用接口的时候在请求头中传递事务分组id；
4.参与方获取到请求头中有事务分组的id的，则当前业务逻辑执行完实现假关闭，不会提交或者回滚当前的事务。
5.发起方调用完接口后，如果出现异常的情况下，在通知给事务协调者回滚事务，这时候事务协调则告诉给参与方回滚当前的事务。


二、Seata实现原理
1.TM（发起方）连接到我们的TC事务协调者，创建一.]]></description><category></category></item><item><title><![CDATA[spring cloud gateway]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119865218</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119865218</guid><author>AttributeSet</author><pubDate>Mon, 23 Aug 2021 11:38:59 +0800</pubDate><description><![CDATA[Spring cloud gateway是Spirng官方基于Spring 5.0，Spring boot2.0和Project Reactor等技术开发的网关，Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关，目标是替代Netflix ZUUL，其不仅提供统一的路由方式，并且基于Filter链的方式提供了网关基本的功能，例如：安全，监控/埋点和限流等。





...]]></description><category></category></item><item><title><![CDATA[微服务架构对比]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119862939</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119862939</guid><author>AttributeSet</author><pubDate>Mon, 23 Aug 2021 10:22:22 +0800</pubDate><description><![CDATA[一、服务发现：服务的消费方(Consumer)如何发现服务的提供方(Provider)？

二、负载均衡：服务的消费方如何以某种负载均衡策略访问集群中的服务提供方实例？



三种服务发现模式

服务发现和负载均衡并不是新问题，业界其实已经探索和总结出一些常用的模式，这些模式的核心其实是代理(Proxy，如下图所以)，以及代理在架构中所处的位置，







在服务消费方和服务提供方之间增加一层代理，由代理负责服务发现和负载均衡功能，消费方通过代理间接访问目标服务。根据代理在架构上所处的位置不同，当前..]]></description><category></category></item><item><title><![CDATA[设计面向领域驱动（DDD）的微服务]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119861981</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119861981</guid><author>AttributeSet</author><pubDate>Mon, 23 Aug 2021 09:09:31 +0800</pubDate><description><![CDATA[Domian-driven Design

领域-驱动-设计（DDD）提倡基于(用例相关的现实业务)进行建模。







1. DDD的视角

DDD将现实问题视为领域;DDD将独立的问题描述为有界限的上下文(一个有界上下文对应一个微服务)，并强调通用语言讨论这些问题2. DDD提出的概念

许多技术概念和模式，例如充血模型(对应我们常写贫血模型)、值对象、聚合和聚合根规则。

3. 目前实施DDD的现状

有时DDD技术规则和模式被视为障碍/啰嗦，对于实施DDD方法而言，学习曲线比较陡峭。不要为了实.]]></description><category></category></item><item><title><![CDATA[Redis和Zookeeper分布式锁对比]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119818564</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119818564</guid><author>AttributeSet</author><pubDate>Fri, 20 Aug 2021 11:02:59 +0800</pubDate><description><![CDATA[1、redis实现

在 JUC 包中除了阻塞锁外还有一种叫 CAS 的无阻塞锁，CAS 操作本身是原子性的，多个线程操作同一个变量的 CAS 时候只有一个线程能进行 CAS 成功，失败的线程接下来那么使用乐观锁机制直接失败要么使用自旋方式使用 CPU 资源重复进行 CAS 尝试。

那么在分布式锁的实现中我们也可以使用类似的方式，比如 Redis 提供了一个保证原子性的 setnx 函数，多个线程调用该函数操作同一个 key 的时候，只有一个线程会返回 OK，其他线程返回 null，那么多个 JVM 中的]]></description><category></category></item><item><title><![CDATA[HBase安装]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119535738</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119535738</guid><author>AttributeSet</author><pubDate>Mon, 09 Aug 2021 13:21:52 +0800</pubDate><description><![CDATA[本章将介绍如何安装HBase和初始配置。 需要用Java和Hadoop来处理HBase，所以必须下载java和Hadoop并安装系统中。

安装前设置

安装Hadoop在Linux环境下之前，需要建立和使用Linux SSH(安全Shell)。按照下面设立Linux环境提供的步骤。

创建一个用户

首先，建议从Unix创建一个单独的Hadoop用户，文件系统隔离Hadoop文件系统。按照下面给出创建用户的步骤。

开启root使用命令“su”.
	使用root帐户命令创建用户 “useradd use.]]></description><category></category></item><item><title><![CDATA[HBase与HDFS数据互导]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119535672</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119535672</guid><author>AttributeSet</author><pubDate>Mon, 09 Aug 2021 13:15:49 +0800</pubDate><description><![CDATA[下面说说JAVA API提供的这些类的功能和他们之间有什么样的联系。



1.HBaseConfiguration

关系：org.apache.hadoop.hbase.HBaseConfiguration

作用：通过此类可以对HBase进行配置

用法实例：Configuration config = HBaseConfiguration.create();

说明：HBaseConfiguration.create()默认会从classpath中查找hbase-site.xml中的配...]]></description><category></category></item><item><title><![CDATA[mysql与hbase应用场景对比]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119535649</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119535649</guid><author>AttributeSet</author><pubDate>Mon, 09 Aug 2021 13:13:48 +0800</pubDate><description><![CDATA[当我们对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用使用什么数据库？答案是什么，如果我们使用的传统数据库，肯定留有多余的字段，10个不行，20个，但是这个严重影响了质量。并且如果面对大数据库，pt级别的数据，这种浪费更是严重的，那么我们该使用是什么数据库？hbase数个不错的选择，那么我们对于hbase还存在下列问题：



1.Column Family代表什么？2.HBase通过row和column确定一份数据，这份数据的值可能有多个版本，为什么会存在多个版本？3.查询的时候会显]]></description><category></category></item><item><title><![CDATA[nosql对比]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119535606</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119535606</guid><author>AttributeSet</author><pubDate>Mon, 09 Aug 2021 13:10:31 +0800</pubDate><description><![CDATA[MongoDB、ElasticSearch、Redis、HBase，以上四种数据库是当今NoSQL中最火爆的几款，掌握了它们，你基本就能cover住互联网开发中的绝大多数数据存储需求。这里还想强调的一点是，如同买衣服一样，没有最好的数据库，只有最适合你的应用场景的数据库，因此选用一款数据库前一定要想清楚自己的应用场景是否合适。再给大家总结下这些数据库的适用场景：

对数据的读写要求极高，并且你的数据规模不大，也不需要长期存储，选redis；
	数据规模较大，对数据的读性能要求很高，数据表的结构需要经常变，有]]></description><category></category></item><item><title><![CDATA[各消息队列对比]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119534802</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119534802</guid><author>AttributeSet</author><pubDate>Mon, 09 Aug 2021 11:57:45 +0800</pubDate><description><![CDATA[一、前言

消息队列中间件（简称消息中间件）是指利用高效可靠的消息传递机制进行与平台无关的数据交流，并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型，它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能，其作为分布式系统架构中的一个重要组件，有着举足轻重的地位。

目前开源的消息中间件可谓是琳琅满目，能让大家耳熟能详的就有很多，比如 ActiveMQ、RabbitMQ、Kafka、RocketMQ、ZeroMQ 等。不管选择其中的哪一款，都会有用的不]]></description><category></category></item><item><title><![CDATA[codis安装]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119533405</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119533405</guid><author>AttributeSet</author><pubDate>Mon, 09 Aug 2021 11:27:36 +0800</pubDate><description><![CDATA[Codis 组成及架构图

访问流程:  client→ codis proxy→ zookeeper→ codis group (codis server master)

其中 codis group (全部groups) 由 redis sentinel(哨兵) 监控进行主从切换.

其中 codis-HA codis-admin 等均为辅助程序, 辅助监控各个节点和 管理后台.





环境依赖


	下载基础组件安装包到数据盘 /data/ 并解压缩到 /data/service/...]]></description><category></category></item><item><title><![CDATA[k8s相关]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119387356</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119387356</guid><author>AttributeSet</author><pubDate>Wed, 04 Aug 2021 16:31:07 +0800</pubDate><description><![CDATA[1、yml文件

apiVersion: apps/v1

kind: StatefulSet

metadata:

name: abc

namespace: abc-q

labels:

app: abc

env: q

product-line: a

spec:

replicas: 3

serviceName: abc

selector:

matchLabels:

app: abc

template:

metadata:

labels:

app: abc

spec:

co]]></description><category></category></item><item><title><![CDATA[缓存容量分析]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119387287</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119387287</guid><author>AttributeSet</author><pubDate>Wed, 04 Aug 2021 16:29:46 +0800</pubDate><description><![CDATA[1、redis-rdb-tools介绍

源码地址:https://github.com/sripathikrishnan/redis-rdb-tools/

redis-rdb-tools 是一个 python 的解析 rdb 文件的工具，在分析内存的时候，我们主要用它生成内存快照。

主要有以下三个功能：



生成内存快照
	转储成 json 格式
	使用标准的 diff 工具比较两个 dump 文件


按照GitHub上面的安装教程安装好工具

2、拷贝redis的dump文件(如果是codis需]]></description><category></category></item><item><title><![CDATA[OOM排查]]></title><link>https://blog.youkuaiyun.com/AttributeSet/article/details/119387247</link><guid>https://blog.youkuaiyun.com/AttributeSet/article/details/119387247</guid><author>AttributeSet</author><pubDate>Wed, 04 Aug 2021 16:27:32 +0800</pubDate><description><![CDATA[场景：运行一段时间内存占用很多偶尔出现oom情况

1、启动命令加上-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/heap

2、把dump文件拷到本地，用jprofiler打开



3、分析占用内存最多的对象





4、查看配置文件。。。。。。历史遗留坑


...]]></description><category></category></item></channel></rss>