自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(39)
  • 资源 (13)
  • 收藏
  • 关注

转载 架构师为什么要做这样的架构?

1. 软件架构设计的What & Why● 啥是软件架构(Software Architecture)?软件架构是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他组件对该组件所做的假设。软件架构设计就是从宏观上说明一套软件系统的组成与特性。软件架构设计是一系列有层次的决策 ,比如:功能与展现的决策;技术架构的决策;自主研发还是合作;商业软件

2022-03-25 10:03:44 177

转载 基于DDD的微服务设计和开发实战

目录基于DDD的微服务设计和开发实战1 目标2 适用范围3 DDD 分层架构视图展现层应用层领域层基础层4 服务视图微服务内的服务视图1、接口服务2、应用服务3、领域服务4、基础服务微服务外的服务视图1. 前端应用与微服务2. 微服务与外部应用5 数据视图6 领域事件和事件总线微服务内的领域事件微服务之间的领域事件事件总线事件数据持久化7 微服务...

2022-02-25 10:45:34 609

原创 ShardingSphere 5.0 分库分表java写法

ShardingSphere 5.0 分库分表 java写法 官方文档描述很少,需要稍微摸索下,简单例子如下://主要就是这个数据源,java写法可以在需要分表的方法上注入配好的分库分表数据源或者通过切面自动切换数据源@Bean(name = "shardingDataSource")@Qualifier("shardingDataSource")DataSource getShardingDataSource(@Qualifier("ds0") DataSource ds0, @Qualif

2022-02-17 15:31:16 809

转载 为什么说MySQL单表数据不要超过500万行

个人总结:  1)如果单表容量大(大于2G),但是索引少(只通过主键ID查),性能也不会慢  2)如果数据量大(大于500W),但是索引容量小(都是小字节字段),性能也不会慢  3)所以,单表查询的性能取决于索引的大小(因为会放内存里),而索引的查询速度又受硬件的影响。  4)建议:大表(数据量大、容量大)。先拆成主表(字段多)、detail表(容量高)。主表严格控制索引的质量,detail表只能用主键ID查(后期可以通过主键ID分表)。以下是正文:今天,探讨一个有趣的话题:MySQ

2022-01-27 16:52:36 1838

转载 运用RUP 4+1视图方法进行软件架构设计

要开发出用户满意的软件并不是件容易的事,软件架构师必须全面把握各种各样的需求、权衡需求之间有可能的矛盾之处,分门别类地将不同需求一一满足。本文从理解需求种类的复杂性谈起,通过具体案例的分析,展示了如何通过RUP的4+1视图方法,针对不同需求进行架构设计,从而确保重要的需求一一被满足。 呼唤架构设计的多重视图方法 灵感一闪,就想出了把大象放进冰箱的办法,这自然好。但希望每个架构设计策略都依靠灵感是不现实的--我们需要系统方法的指导。 需要架构设计...

2021-11-17 15:53:49 229

转载 阿里巴巴数据库分库分表的实践

在2006年阿里巴巴B2B团队以开源方式研发了Cobar这一关系型数据的分布式处理系统。该系统在很大程度上解决了最初使用Oracle数据库因为存储数据变得越来越大带来的扩展性问题,并且为开发人员提供了一个使用相对简单的用户体验,在当时Cobar平均每天处理近50亿次的SQL操作。阿里巴巴分布式数据层平台发展和演变业务数据从原来的单库单表模式变成了数据被拆分到多个数据库,甚至多个表中,如果在数据访问层做一下功能的封装和管控,所有分库分表的逻辑和数据的跨库操作都交给应用的开发人员来实现,则对开发人员的要

2021-08-24 11:51:41 533

转载 MySQL复合索引原理解析

什么是MySQL联合索引联合索引又叫复合索引,是MySQL的InnoDB引擎中的一个索引方式,如果一个系统频繁地使用相同的几个字段查询结果,就可以考虑建立这几个字段的联合索引来提高查询效率。如何建立索引举个例子: create table `table_name`( `id` bigint(20) NOT NULL PRIMARY KEY, `a` int(11), `b` int(11), `c` varchar(22), KEY

2021-08-16 14:10:53 1292

转载 互联网性能与容量评估的方法论和典型案例

1 背景本文欢迎转载,转载请注明原文链接,并附作者个人信息李艳鹏。性能至上武林中,“天下武功出少林”指中国各门各派的武功都与少林武学有一定的渊源,技术也是相同的道理,所有的技术最终体现在计算机知识的基本功上,这些基本功是技术的易筋经,是“内功”,一些年轻的攻城狮更热衷于追崇高大上的框架,过去在炒SSH,现在在炒Spring Cloud,这些对框架掌握的程度体现在“剑术”上,我推荐每个技术研发人员在修炼好内功的基础上,再去练“剑术”。回头看IT行业的发展,先有传统行业,再有互联网,传统行业和互

2021-08-02 10:45:58 501

转载 redis 与 db 双写数据一致性解决方案

本文的行文次序,首先介绍集中式缓存的缓存模式和数据一致性,然后介绍二级缓存的架构和数据一致性,最后介绍三级缓存的架构和数据一致性指南2:不吹牛,本文在全网数据一致性的所有博文中,绝对算是史上最全的。本文最为全面的介绍了 redis 与 db 双写数据一致性解决方案,当然, 会参考了最新的一些文章, 但是解决那些 复制来复制去的bug,另外,本文增加了 L2 、L3 多级缓存的一致性问题总之本文非常经典,绝对的高分面试必备, 建议边学习、边思考,并且一定要实战如果有问..

2021-07-06 17:46:20 1656

转载 Electron 简单入门-备忘

一、 Electron 介绍Electron ,使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用,利用 Web技术JavaScript、HTML 和 CSS 开发跨平台(Mac,Windows和Linux系统)桌面应用的开源框架,最初是 Github 发布的 Atom 编辑器衍生出的 Atom Shell,后更名为 Electron。可以将 electron 看作是一个由 JavaScript 控制的一个小型的 Chrome 内核浏览器。electron 内置了 Chro

2021-06-25 17:38:45 234

转载 svn“Previous operation has not finished; run ‘cleanup‘ if it was interrupted“报错的解决方法

svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”。无论你到那个父层次的目录执行“clean up“,都是报一样的错。Svn的operation是存放在“work queue’“里的。而“work queue’是在内嵌数据库wc.db的work_queue表中的。看看work_queue表中放了些什么,再做处理。1.内嵌数据库一般是用sqlite进行轻量级管...

2021-05-13 14:56:47 1148

原创 spring boot mybatis 优雅的数据源切换

当一个项目有多个数据源时,我们可以通过spring 切面优雅的实现数据源切换1.定义切面@Component@Slf4j@Aspect@Order(-1)public class DataSourceAspect { public DataSourceAspect(){ logger.debug("选择数据源---"); } private static final Logger logger = LoggerFactory.getLogger(D

2020-11-13 15:07:10 175

原创 Sentinel 针对IP限流

Sentinel 可以简单实现针对IP的限流,通过改造限流策略的针对来源选项1.首先我们要自定义来源解析RequestOriginParser@Configurationpublic class SentinelConfig { @Bean public RequestOriginParser requestOriginParser() { return (request -> { String remoteAddr = IpUtil

2020-09-08 14:21:01 9033 6

转载 Sentinel之限流、降级、系统保护、热点、授权规则

简介Sentinel是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。本文主要讲限流、熔断降级、热点、系统保护、授权等方面,并持久化到Nacos中。安装sentinel控制台官方下载地址:https://github.com/alibaba/Sentinel/releases提供1.7的版本:https://pan.baidu.com/s/1JS2tP_7T0Coh4lE5t.

2020-08-27 13:39:14 1211

转载 mysql explain执行计划详解

mysql explain执行计划详解1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:primary:一个需要union操作或者含有子查询的select,位于最外层的单位查询的select_type即为primary..

2020-06-28 14:42:10 110

转载 深入理解大数据之——Lambda架构

传统系统的问题“我们正在从IT时代走向DT时代(数据时代)。IT和DT之间,不仅仅是技术的变革,更是思想意识的变革,IT主要是为自我服务,用来更好地自我控制和管理,DT则是激活生产力,让别人活得比你好”——阿里巴巴董事局主席马云。数据量从M的级别到G的级别到现在T的级、P的级别。数据量的变化数据管理系统(DBMS)和数仓系统(DW)也在悄然的变化着。 传统应用的数据系统架构设计时,应用直接访问数据库系统。当用户访问量增加时,数据库无法支撑日益增长的用户请求的负载时,从而导致数据库服务器无法及

2020-06-16 17:47:32 412

转载 dubbo负载均衡策略

一:负载均衡介绍1.1:负载均衡简介以下是wikipedia对负载均衡的定义: 负载均衡改善了跨多个计算资源(例如计算机,计算机集群,网络链接,中央处理单元或磁盘驱动的的工作负载分布。负载平衡旨在优化资源使用,最大化吞吐量,最小化响应时间,并避免任何单个资源的过载。使用具有负载平衡而不是单个组件的多个组件可以通过冗余提高可靠性和可用性。负载平衡通常涉及专用软件或硬件1.2:简单解释 这个概念如何理解呢?通俗点来说假如一个请求从客户端发起,比如(查询订单列表),要选择服务...

2020-06-12 09:41:10 341

原创 spring cloud oauth2 单点登录及资源权限控制简单例子

oauth2 分为认证中心和资源服务中心,做个简单例子一.认证中心 新增认证服务模块项目1.引入pom <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-oauth2</artifactId> <version>2.0.

2020-06-11 17:58:07 1055

转载 如何使用JMeter进行并发测试

1、下载最新版的JMeter的文件压缩包到本地2、解压出来得到如下文件夹3、打开bin文件夹找到jmeter.properties文件,打开它4、找到第37行修改(添加)此条代码修改为中文language=zh_CN5、然后找到jmeter.bat文件,双击打开6、新建测试计划,选中“测试计划”鼠标右击,选择添加->线程(用户)->线程组7、光标选中线程组,鼠标右击,添加->取样器->HTTP请求...

2020-06-03 17:10:01 1842 1

原创 springboot elasticsearch 结合简单例子

本例子elasticsearch版本7.7.0,采用RestHighLevelClient访问1.首先引入pom <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> </dependency> <depe

2020-06-03 16:12:51 273

转载 es分布式架构原理

es分布式架构原理elasticsearch设计的理念就是分布式搜索引擎,底层实现还是基于Lucene的,核心思想是在多态机器上启动多个es进程实例,组成一个es集群。一下是es的几个概念:接近实时 es是一个接近实时的搜索平台,这就意味着,从索引一个文档直到文档能够被搜索到有一个轻微的延迟 集群(cluster) 一个集群有多个节点(服务器)组成,通过所有的节点一起保存你的全部数据并且通过联合索引和搜索功能的节点的集合,每一个集群有一个唯一的名称标识 节点(node) 一个节点就是一个单

2020-06-03 13:52:33 179

原创 sharding-jdbc+ springboot+ mybatis 分库分表简单例子

sharding-jdbc定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。适用于任何基于JDBC的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。 支持任意实现JDB

2020-06-02 15:07:22 576

转载 SpringCloud Alibaba之Sentinel工作原理

前言在之前的文章中,老顾介绍了Sentinel框架,此框架主要用来做限流,降级,熔断的;Sentinel框架作用和hystrix框架很类似。今天分享一下Sentinel的工作原理。核心介绍在 Sentinel 里面,所有的资源都对应一个资源名称(resourceName),每次资源调用都会创建一个 Entry 对象。Entry 可以通过对主流框架的适配自动创建,也可以通过注解的方式或调用 SphU API 显式创建。Entry 创建的时候,同时也会创建一系列功能插槽(slot chain),这些

2020-05-29 14:20:06 985

原创 docker部署Sentinel spring cloud 及心跳源码解析

Sentinel作为降级、限流、系统保护的利器,是作为微服务比不可少的组件,Sentinel启用也相对简单,首先通过docker快速部署 运行命令docker run --name my.sentinel -d \-p 8858:8858 \bladex/sentinel-dashboardhttp://192.168.20.101:8858 用户名/密码:sentinel/sentinel1.引入pom <!--sentinel--> &l...

2020-05-29 14:00:38 694

原创 Spring cloud sleuth+zipkin 微服务调用链路跟踪

安装采用docker安装1.docker pull openzipkin/zipkin2.docker run -p 9411:9411 openzipkin/zipkin3.http://localhost:9411/zipkin/ //访问地址1.引入pom <dependency> <groupId>org.springframework.cloud</groupId> <arti

2020-05-28 11:03:14 148

原创 Nacos安装及简单spring cloud结合

采用docker安装1.拉取对应git 如放到/home/nacos目录下git clone https://github.com/nacos-group/nacos-docker.git2. 进入nacos example目录cd nacos-docker/example执行docker-composedocker-compose -f standalone-mysql.yaml up (执行这步之前需要配置一些参数)如下:2.1在nacos创建 logs文件夹和init.

2020-05-27 15:52:00 318

原创 简单的docker springboot操作实战

简单的用docker部署springboot,首先springboot项目打包成jar包,目录如图:(常规用pom配合dockerfile-maven-plugin执行)1.Dockerfile 和jar放同一目录(测试用,实际项目在target目录) 注意 默认docker会把Dockerfile同层的包一起打包 所以这就是把Dockerfile放根目录原因2.docker build -t some:test . 注意最后有个点,代表使用当前路径的 Dockerfile 进行构建..

2020-05-27 10:34:26 200

转载 springboot2.x 集成百度 ui-dgenerator生成分布式唯一id

百度的ui-dgenerator也是根据snowflake算法更改的方法,关于snowflake算法不做介绍,不懂的可以百度。snowflake算法有个缺点是:时间回拨问题,官方文档也是抛出异常。分布式唯一id:snowflake算法思考文章地址:https://www.cnblogs.com/lirenzuo/p/8440413.html分析时间回拨产生原因第一:人物操作,在真实环境一般不会有那个傻逼干这种事情,所以基本可以排除。第二:由于有些业务等需要,机器需要同步时间服务器(在这个.

2020-05-26 15:45:56 440

转载 RabbitMQ 集群原理和完善

一、RabbitMQ集群方案的原理RabbitMQ这款消息队列中间件产品本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的magic cookie来实现)。因此,RabbitMQ天然支持Clustering。这使得RabbitMQ本身不需要像ActiveMQ、Kafka那样通过ZooKeeper分别来实现HA方案和保存集群的元数据。集群是保证可靠性的一种方式,同时可以通过水平扩展以达到增加消息吞吐量能力的目的。下面先来看下RabbitMQ集群...

2020-05-25 20:38:36 141

转载 Keepalived之——Keepalived + Nginx 实现高可用 Web 负载均衡

一、Keepalived 简要介绍Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VRRP 协议为实现基础,用 VRRP 协议来实现高可用性(HA)。 VRRP(Virtual RouterRedundancy Protocol)协议是用于实现路由器冗余的协议, VRRP 协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器 IP(一个或多

2020-05-24 16:55:52 109

原创 centos8 安装docker

centos8centos7 安装docker可以参考官方地址:https://docs.docker.com/install/linux/docker-ce/centos/奔主题开始安装首先安装依赖sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/lin......

2020-05-24 11:39:55 1068

原创 Springboot日志

Springboot默认集成的就是logback,在resources目录下放如logback-spring.xml配置<?xml version="1.0" encoding="GBK" ?><configuration> <property name="project_name" value="eureka-service" /> <property name="LOG_HOME" value="${catalina.base}/logs" /&g

2020-05-13 17:06:28 140

原创 java 函数式编程简单例子

自定义函数接口 采用@FunctionalInterface,如 我们定义个 参数T,返回结果为R的自定义函数@FunctionalInterfacepublic interface MyFunction<T, R> { R sum(T t1,T t2);}测试代码 这里顺便测试下jdk自带的函数接口public class FunctionTest { //自定义函数接口 public static int sumDef(int a,int b,M.

2020-05-11 17:09:43 251

原创 spring cloud gateway权限校验

spring cloud gateway权限校验可以整合security实现,我这里采用自定义filter简单实现,步骤如下:1.首先配置RouteLocator,贴代码@Configurationpublic class GatewayRoutes { @Autowired private TokenGatewayFilter tokenGatewayFilter; @B...

2020-05-08 10:16:15 5108 2

原创 IntelliJ Idea Could not autowire. No beans of 'xxxx' type found的错误提示 和 eclipse 转idea

1.在Idea导入eclipse spring项目编译时会遇到Could not autowire. No beans of 'xxxx' type found的错误提示,但是程序是没错的,这是由于idea的spring 代码检测级别过高,可以设置低些。比如警告或者忽略。2. spring boot项目在eclipse启动正常,idea启动失败,报错:org.springfram...

2020-05-08 09:42:38 100

转载 Eureka缓存机制、心跳、上下线等探讨

引言Eureka是Netflix开源的、用于实现服务注册和发现的服务。Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便。但是由于Eureka本身存在较多缓存,服务状态更新滞后,最常见的状况是:服务下线后状态没有及时更新,服务消费者调用到已下线的服务导致请求失败。本文基于Spring Cloud Eureka 1.4.4.RELEASE...

2020-04-30 14:15:04 344

原创 feign与hystrix超时配置

采用feign与hystrix同时启用的情况下,超时时间一般要根据实际服务器数量等因素重新配置过,其中feign的超时时间一般不能大于hystrix的超时时间,否则feign的重试(ribbon)还没开始就直接触发了hystrix熔断。feign的重试可以避免网络抖动、服务器处理超时带来的客户体验不稳定,比如其中一台由于网络抖动不能访问了,feign的重试(ribbon负载策略)可以访问另外...

2020-04-28 15:20:55 1829 1

原创 ppt转换图片及有密码情况处理

ppt转换图片方法 ,采用Jacob调用本地COM组件转换,其中作为服务器供用户上传时,如果用户传ppt是有密码的则会使ppt一直停留在输入密码状态,导致其它用户无法使用,这时可以简单做个超时判断,关闭当前转换,具体代码如下:public static void changeAsImage(String filePath, String exportPath, String imageFor...

2020-04-09 17:50:24 256

原创 spring 服务网关Gateway 自定义filter 程序写法

Gateway服务网关快速开始@Configurationpublic class GatewayRoutes { @Autowired private DefaultInit defaultInit; @Autowired private MyGatewayFilter myGatewayFilter; @Bean public Rou...

2020-04-02 14:27:29 1383

JKS2PFX证书转换工具 支持jdk生成证书转换

JKS2PFX证书转换工具 支持jdk生成证书转换

2023-02-21

cef_binary_3.3626.1894.g90eb8cc_windows64.zip

Windows 64位版本的CEF3工程代码(需要自己CMake创建sln,自行编译产生cefsimple/cefclient)。Chromium版本:72.0.3626.96。编译时加入ffmpeg支持,可以播放mp3, mp4, 支持h.264。可以自己访问html5test.com验证。

2020-06-09

dockerVERR_UNRESOLVED_ERROR修复

Unable to load R3 module C:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastError=1790 (VERR_UNRESOLVED_ERROR)

2018-10-11

缓存redis绿色安装包

redis 缓存 windows 64位附带 启动命令 直接双击start.bat启动

2017-10-14

Mongo图形管理工具MongoVUE

Mongo图形管理工具MongoVUE 图形界面轻松管理Mongo数据

2015-06-19

jd-gui 反编译

jd-gui 反编译工具 提供界面操作 直接拖拽class类

2011-07-28

maven m2eclipse 插件

解压覆盖features和plugins即可

2011-07-28

深入swing 轻松设计swing

深入swing,对swing的原理及工具方法有比较深入的讲解

2009-06-11

反编译工具 jad下载

jad反编译工具,快速反编译java源代码

2009-03-08

js调试工具 Companion.JS

Companion.JS能解决IE浏览器下艰难调试的困扰,对js调试非常有帮助

2009-03-08

网页调试工具 IEDevToolBarSetup

IEDevToolBarSetup能方面的查看网页内容,对网页调试非常有帮助

2009-03-08

CSS 2.0 使用手册

CSS 2.0 使用手册,内容很全,应该有些帮助

2008-11-29

空空如也

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

TA关注的人

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