自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 k8s-1.23.3安装,不踩坑

k8s安装

2023-01-02 21:18:45 776

原创 UML分析

UMLUML图目的表达静态概念,以及它们之间的关系结构图表达动态内容行为图三剑客表达能为用户做什么用例图分类结构型-静态类图用来分析业务概念及他们的关系需求分析阶段只管属性,不管方法,属性也不用管public或者private只需要标注关键的属性组合和聚合,可以这样记忆:实心菱形显得更强壮,是强包含。但是一般需求分析时,不用太纠结他两,统一用弱包含如果你发现两个类有关系,就先连上一根线。如果你在写两个类的属性时,发现有些属性需要

2022-04-03 23:18:23 440

原创 支付系统方法论

支付基本概念三原基交易清分计算好债务和债券的归属,把账对平,一般由清分中心完成清分是根据交易的终态结果,对商户、用户、支付通道进行手续计算、账单和到账款项的金额核对需要根据各方的日切时间将数据汇总,还要进行差账异常数据处理结算结算是根据清分的数据,进行资金划拨结算时间结算日结算周期结算实时结算国家级支付系统大额实时支付系统无限额实时清算小额批量支付系统100万以下网上支付跨行清算系统5万以下境内外

2022-04-03 11:22:34 3736

原创 中台与DDD

中台与DDD概念什么是中台按照可复用原则,将通用的、可复用的能力沉淀到中台,完成企业级业务模型重构中台落地的技术实现有很多种,当前微服务架构是公认的最佳实践。中台本质是业务领域的子域微服务与DDD是共生关系微服务提倡将应用进行服务化拆分,通过业务领域边界实现服务边界的划分。而微服务的拆分困境在于不知道业务或者应用的边界在什么地方DDD恰好提供一种基于业务界限上下文边界来划分业务的方法DDD是一种设计方法,微服务是一种架构风格,两者都是为了追求软件的高响应力,从业务视角去分离应用系统

2022-02-12 15:12:57 1267

原创 如何写好PPT

如何写好PPT

2022-01-16 20:45:50 1297

原创 微服务架构

软件架构概述软件架构对需求的影响对功能性需求的影响不大由user case和user story体现对非功能性需求影响较大包括可维护性、可测试性、可扩展性、可部署性软件扩展的方式克隆实例。例子就是服务的弹性扩容。分解功能,每个功能单独实例。例子就是单体转为微服务。数据分区,在分区上克隆实例。例子就是分库然后各自部署微服务。视图分类及架构风格应用程序通常使用多种架构风格的组合架构风格限定了部分视图中可以选择的元素和关系,比如微服务架构限定了实现视图是多

2021-12-19 18:26:32 608

原创 Flink总结

Flink数据处理架构批处理事务性处理多应用共享一个数据库,数据库支持事务,一般都是单体更改数据库表模式和数据库扩缩容时费劲分析型处理通过ETL把数据导到数据仓库使用定期批处理任务生成报告或者即席查询分析数据流处理有状态,支持存储中间结果支持事件型应用,事件流可能是一个无限的事件序列基础概念并行数据并行同一个算子的不同实例处理不同的数据,既算子的并行度任务并行不同算子本来是有先后顺序的,放在不同的机器上,实现流水线式的作业数据交

2021-12-18 20:58:30 1165

原创 hbase、hive、clickhouse对比

概念架构hbasemaster存储元数据、regionServer实际控制表数据,存储单位是Region,底层数据存储使用HDFShive通过driver将sql分解成mapreduce任务元数据需要单独存储到一个关系型数据库,一般是mysql实际数据存储可以是外表,也可以是内表clickhouse单体架构分层类似mysql,集群状态下是多主,通过zookeeper通信数据存储看引擎,最重要的引擎是mergeTree家族部分引擎是不会存储数据的,比如kafka引擎

2021-12-18 20:57:01 3569

原创 java笔记3

git resetreset既可以处理commit后的回退,还可以处理add后的返回状态机设计controller类负责对外的接口,worker类负责实际干活,这两个是没有什么疑问的。重要的是stateMachine和各个子state的区别,statemachine正常情况下是只做命令透传给当前的子state,而不应该做状态切换,状态切换应该由各个子state去做。但是,有的情况下,状态的切换不是由controller触发的,比如当installing进度到达100时,应该切换到installsu

2021-03-26 22:29:29 119

原创 性能检测脚本

#!/bin/bash#获取需要监控的数据function print_info_to_file(){PID=$1#当前时间current_date=`date +'%H:%M:%S'`#线程数threads_count=`cat /proc/$PID/status | grep Threads | awk '{print $NF}'`#打开的文件数lsof_c...

2020-02-15 11:38:53 326

原创 CI笔记1

maven相关包下载maven项目永远是去本地仓库找JAR包,本地没有的,也是从远程仓库(一级一级找,最后到中央仓库)下载到本地仓库,然后再从本地仓库里面拷出到项目里面。maven有自己的一个默认中央仓库,在setting.xml里面是看不到的,它的ID是central。maven的下载机制,是在repository里面,一个仓库的去找你要的东西。而镜像的作用是屏蔽指定的repositor...

2020-02-15 11:33:26 169

原创 JAVA笔记2

JAVA的一些注意事项在用数字变量x和y拼接字符串xy的时候,不能使用x+y+“”,要用""+x+y,否则拼出来的就是先相加后变的字符串。安全防护要全方位在进行安全排查的时候,不仅要考虑正常情况下应该要做好防护,还需要考虑在异常场景下的防护,比如下面,在trycatch后,没有成功设置dtd,竟然也返回了构造的对象,这样就相当于异常场景么有进行防护设置了。 private SAXPa...

2020-02-15 11:30:39 812

原创 数据库笔记1

安全输入参数用grep来做判断的话,有个坑,就是因为grep只要有一行匹配,就会返回匹配,所以用grep来判断输入参数会被人家用多行参数来绕过。最好还是使用==或者~=来进行判断。事务ACID代表atomic,consistency,isolation,durable.其中一致性和可持续性是必然要保证的,然后使用事务一般是为了使用它的原子性,然后配置隔离性是为了在使用事务时能有最好的性能。...

2020-02-15 11:29:42 253

原创 Linux笔记1

感悟文件权限所有对linux文件的操作,像替换jar包,复制文件,新增文件,处理完之后都要看一下文件的权限对不对。在升级jar包的时候,有一个很重要的问题,回滚之后的jar也要注意权限。。。。。这是个坑呀。linux替换文件,拥有的是原文件的权限。有一次替换jar包后,调用15822接口的Rest服务,报找不到服务器。然后开始排查,启动日志是正常启动了的,usf的日志是正常的,run...

2020-02-15 11:28:55 194

原创 JAVA笔记1

泛型泛型,一定是为了规定某个属性、或者方法的入参、出参的类型!JAVA中的泛型声明,一定是写在<>里面的,所以是谁的泛型,看<>写在哪。这个是类的声明:static class Genericdemo<T,k>{public T x; public T Y; public T getValue() { retur...

2020-02-15 11:28:13 538

原创 maven里面property配置的坑

${project.version}是个坑,比如子模块调用父模块,在父里面的${project.version}不是指父的version,而是指子的version。即子是从父那边获得了${project.version}这一表达式,然后翻译成自己的值,而不是父类的值。通过做实验也验证了这一结果。既然${project.version}这种隐藏的表达式是这样,普通的pro...

2020-02-15 11:16:03 983

原创 依赖倒置、控制反转、依赖注入、模板模式的关系

参考《向依赖关系宣战》依赖倒置,是把本来的直接依赖的关系,倒置为两者都对同一个抽象接口的依赖。从而实现被依赖方发生变化时,对依赖方产生最小的影响。![计算机生成了可选][1190447981]![计算机生成了可选文字][1191371502]但是这样还是免不了要Reader a=new KeyboardReader(好处就是只要new一次KeyboardReade...

2019-04-01 14:59:08 329

原创 markdown的本地图片转BASE64,一起附在文件中

用markdown的时候,插入图片一般有三种方式:1,用本地图片;2,用网络图片;3,把图片编码成BASE64格式,写在文件里面。本文解决的问题是,把本来引用的本地图片,压缩并编码成BASE64格式放在md文件里面。import net.coobird.thumbnailator.Thumbnails;import sun.misc.BASE64Encoder;impo...

2019-03-30 20:48:09 3117 1

原创 Java异常堆栈打印的最佳实践方式

对于异常的处理,最佳的实践是每一层都把异常catch住,然后每一层都往上抛,最后在最表层把堆栈信息打印出来。记住不需要每一次层都去打印堆栈。因为每一层打印的话大家的堆栈有效信息其实是一样的。最佳的方式是在最表层进行打印。 最佳实践的代码示例:Public void layer2() throws Exception{try{layer3();}catch(Exceptio...

2019-02-15 11:21:03 2620

原创 JAVA强制类型转换的那些坑!!!

JAVA强制类型转换的时候,在编译期间,只会校验是否有继承的关系而已!!!不会去校验继承关系的顺序,也不会去校验实现关系!!!也就是说,父类强转成子类,以及某个类强转成任何接口,都不会在编译时报错。只会在运行时报错。比较典型的例子,object对象,可以在编译期强转成任何对象(因为它本身是所有对象的父类)、以及任何接口。却不会报错。。。。这是个巨坑呀。所以代码编译过了,不一定就是对的。下列错...

2018-12-11 20:11:16 8229

原创 RPC、springcloud、dubbo、hadoop、zookeeper等概念的区别

RPC是一个远程调用的技术方式,其可以通过HTTP协议实现,也可以是基于SOCKET自己定义新的协议。其本质是为了让机器在进行远程调用的时候,不需要知道具体是从哪台机器调用,从而实现了服务的解耦。RPC本质上就实现了两个功能,一个是通过socket等实现的网络传输、一个是数据的序列化和反序列化。RPC 和 HTTP 调用是没有经过中间件的,它们是端到端系统的直接数据交互。HTTP 调用其实也...

2018-11-04 13:57:16 6267

原创 JAVA进行图片压缩

处理图片压缩的终极版本。附上测试用例。/** * * 压缩图片,并等比缩小。 * * @author aren * @param data * 输入图片数据的byte[]。 * @param width * 最大输出宽度,但是最后会根据图片本身比例调整。推荐值800。 * @param height * ...

2018-09-12 17:47:41 3132

原创 i++和++i的本质区别

i++ 和++i 的本质区别在于计算时的赋值时间点区别。可以参考https://blog.csdn.net/xialei199023/article/details/76383013但是在使用的情况下,i++ 和++i的区别在于i的值都是一样的,但是作为一个整体的i++值和++i值不一样。不用再继续考虑其他的表达式内容。比如:int i =0;j=i++;    //i的值会是1,j的值会是0,这...

2018-07-12 10:58:43 687

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除