6 程序猿进阶

尚未进行身份认证

梦想成为自由职业者

等级
TA的排名 1w+

Zookeeper 从入门到精通

目录一、Zookeeper概述二、Zookeeper 特点三、数据结构四、应用场景五、配置参数解读六、Zookeeper 内部原理七、节点类型八、客户端命令行操作九、stat结构体十、监听器流程十一、写数据流程十二、API应用一、Zookeeper概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,

2020-05-24 23:42:03

分布式事务综合案例分析【实用篇】

目录一、系统介绍二、注册账号案例分析三、存管开户四、满标审核五、总结我们已经了解了四种分布式事务解决方案,2PC【链接】、TCC【链接】、可靠消息最终一致性【链接】、最大努力通知【链接】,每种解决方案我们通过案例开发进行学习,本章节我们结合互联网金融项目中的业务场景,来进行分布式事务解决方案可行性分析。一、系统介绍P2P金融又叫P2P信贷。其中P2P是 peer-to-peer 或 person-to-person 的简写,意思是:个人对个人。P2P金融指 个人与个人间的小额

2020-05-20 22:23:59

最大努力通知【分布式事务解决方案】

目录一、概述二、解决方案三、RocketMQ实现最大努力通知型事务四、小结一、概述最大努力通知也是一种解决分布式事务的方案,下面是一个充值的例子:【交互流程】:【1】账户系统调用充值系统接口;【2】充值系统完成支付处理向账户系统发起充值结果通知,若通知失败,则充值系统按策略进行重复通知。【3】账户系统接收到充值结果通知修改充值状态;【4】账户系统未接收到通知会主动调用充值系统的接口查询充值结果。通过上边的例子我们总结最大努力通知方案的目标:发起通知方通过一定的机制最大努力将业

2020-05-18 23:38:35

可靠消息最终一致性【本地消息表、RocketMQ 事务消息方案】

2020-05-17 22:02:35

IDE 解锁方法

两种方式:第一种:在线激活:填入下面的license server中输入下列任一一个地址即可  http://intellij.mandroid.cn/  http://idea.imsxm.com/  http://idea.iteblog.com/key.php第二种方式:断网激活:选中Activation code,复制激活码,即可。举例激活码1CNEKJPQZEX-eyJsaWNlbnNl...

2018-03-25 22:07:51

TCC 分布式事务解决方案

一、什么是TCC事务 TCC是Try、Confirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认Confirm、撤销Cancel。Try操作做业务检查及资源预留,Confirm做业务确认操作,Cancel实现一个与 Try相反的操作即回滚操作。TM首先发起所有的分支事务的 try操作,任何一个分支事务的 try操作执行失败,TM将会发起所有分支事务的Cancel操作,若 Try操作全部成功,TM将会发起所有分支事务的 Confirm操作,其中 Confirm/Ca

2020-05-15 00:08:27

2PC(两阶段提交)【XA 与 Seata方案】

一、概述2PC(two phase commit protocol,2PC)即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2指两个阶段,P指准备阶段,C指提交阶段。整个事务过程由事务管理器和参与者组成,事务管理器负责决策整个分布式事务的提交和回滚,事务参与者负责自己本地事务的提交和回滚。在计算机中部分关系数据库如 Oracle、MySQL 都支持两阶段提交协议,如下图:...

2020-05-13 23:31:51

SpringBoot 整合 Kafka 与 Avro 【No group.id】 问题解决方法

【问题描述】:ApplicationContextException: Failed to start bean 'org.springframework.kafka.config.internalKafkaListenerEndpointRegistry'; nested exception is java.lang.IllegalStateException: No group.id found in consumer config, container properties, or @KafkaLis

2020-05-13 20:22:35

Kafka + SpringData + (Avro & String) 【Can't convert value of class java.lang.String】问题解决

【1】需求:Kafka 使用 Avero 反序列化对象时,同时需要接收 String 类型的 JSON数据,并对其反序列化。AvroConfig的配置信息如下:/** * @author zzx * @creat 2020-03-11-20:23 */@Configuration@EnableKafkapublic class AvroConfig { //生产者配置 略。。。。 主要说消费者问题 //消费者配置 avro 反序列化如下 主要是注入 Bean

2020-05-13 20:16:41

IDEA 默认快捷键【字典】

【1】Ctrl + Shift + F : 快速查找,类似于 eclipse 的 Ctrl + H ,但是我的基本都冲突,需要通过 Edit | Find | Find in Path 调用;【】Ctrl + F12:显示当前类的所有方法,类似于 eclipse 的 Outline。在IDE的 View | Tool Windows | Structure 中也可开启;【】Alt + Shif...

2020-05-10 23:10:31

雪花算法 SnowFlake 内部结构【分布式ID生成策略】

一、前言 如何在分布式集群中生产全局唯一的 ID?【方案一】UUID:UUID是通用唯一识别码 (Universally Unique Identifier),在其他语言中也叫GUID,可以生成一个长度 32位的全局唯一识别码。UUID 虽然可以保证全局唯一,但是占32位而且无序,入库性能比较差。//例如:44e128a5-ac7a-4c9a-be4c-224b6bf81b20String uuid = UUID.randomUUID().toString()举个例子:MySQL 使用..

2020-05-09 23:55:21

Linux【环境 CenOS7】部分软件安装链接整理

一、开启网络【问题】:刚安装完 CentOS,当 ping www.baidu.com 时,ping 不通;【解决】:进入 cd /etc/sysconfig/network-scripts/ 我这里修改的是 ifcfg-ens33 文件,你我可能不同。最后执行 service network restart 重起服务二、安装iptables停止firewalld服务停止防火墙...

2020-05-09 14:59:13

ShardingSphere 数据分片之 Sharding-JDBC 深入理解

一、概述Sharding-JDBC 是 ShardingSphere的第一个产品,也是ShardingSphere的前身。 它定位为轻量级Java框架,在 Java的 JDBC层提供的额外服务。它使用客户端直连数据库,以 jar包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC驱动,完全兼容 JDBC和各种 ORM框架。Sharding-JDBC 采用无中心化架构,适用于Java开...

2020-05-08 23:41:24

ElasticSearch 集群搭建【简易版】

目录一、集群的相关概念二、ES 集群搭建三、ES 集群测试ES 是一个 P2P 类型(使用 gossip 协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群所需要的配置极其简单。在 Elasticsearch 2.0 之前,无阻碍的网络下...

2020-05-05 19:32:06

ElasticSearch 从0到1

一、简介ElasticSearch 简称 es,Elasticsearch是一个开源的高扩展的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。它几乎可以实时的存储,检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据,es 也可以使用 Java 开发并使用 Lucene作为核心来实现所有索引和搜索功能,但是它的目的是通过简单的 RE...

2020-05-05 15:36:30

MySQL 开发规范【X千万/表级别】

一、MySQL 开发规范概述原则:SQL开发规范制定是基于良好的编码习惯和可读性;目的:、二、MySQL 开发规范手册三、MySQL 开发规范执行

2020-05-04 00:44:59

MyBatisPlus 实战字典

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具包,只做增强不做改变,为简化开发工作、提高生产效率而生。【官方地址】:链接【代码发布地址】:【Github】【Gitee】...

2020-04-30 22:45:32

【跨服务调用】msg:xxl-rpc remoting error(no protocol: 127.0.0.1:9999/run), for url

【问题描述】:msg:xxl-rpc remoting error(no protocol: 10.20.131.183:9999/run), for url :【解决方案】:

2020-04-27 09:37:40

SpringBoot 整合 Avro 与 Kafka

2020-04-19 18:26:01

Spring 提供的 BeanUtils 遇到的问题

BeanUtils 功能:这个包里比较常用的一个工具类,这里只介绍它的 copyProperties()方法。如果你有两个具有很多相同属性的JavaBean,怎可以通过该方法进行对象之间的赋值操作,如下:/** * 对象属性拷贝 <br> * 将源对象的属性拷贝到目标对象 * * @param source 源对象 * @param target 目标对象 */pu...

2020-04-18 21:03:29

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 分享达人
    分享达人
    成功上传6个资源即可获取