自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 一个人花8块钱买了只鸡,9块钱卖了,又10块钱买回来,11块钱又卖了,他赚了多少钱

一个人花8块钱买了只鸡,9块钱卖了,又10块钱买回来,11块钱又卖了,他赚了多少钱? 这是IBM面试时的题目,有四种算法: 1、9-8=1,11-10=1,1+1=2,所以最后赚2元。 2、最初只有8块钱,最后你有11块了, 所以是赚3块; 3、第一次买卖,主人公损失8块,获得一只鸡,第二次...

2019-03-31 08:08:45 25354 22

转载 分布式应用中的分布式锁

分布式锁是控制分布式系统之间同步访问共享资源的一种方式。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要通过一些互斥手段来防止彼此之间的干扰,以保证一致性,在这种情况下,就需要使用分布式锁了。 简而言之,分布式锁就是指在分布式的部署环境下,通过锁机...

2019-03-22 14:14:53 899 0

转载 高并发应用中请求幂等处理

【1】幂等概念和场景 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系...

2019-03-22 14:10:08 994 0

转载 每秒上万并发下的Spring Cloud性能优化之道

一、写在前面 相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构,毕竟现在这是非常火的一门技术。 如果只是用户量很少的传统IT系统,使用Spring Cloud可能还暴露不出什么问题。 如果是较多用户量,高峰每秒高达上万并发请求的互联网公司的系统,使用Spring Cl...

2019-03-22 11:07:41 822 0

转载 微服务架构及幂等性

微服务架构 微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。 和微服务相对应的,这种方式一般被称为单体式开发(Monolithic)。既所有的功能打包在一个 WA...

2019-03-22 10:51:35 251 0

转载 需求管理

对于PM来说,要管理好需求,离不开四个层面的列表管理。 1、Feature List:需求特性列表,日常的需求管理,管理好了,治大国如烹小鲜,管理不好,每时每刻被动煎熬。 2、Feedback List:反馈列表,各个渠道反馈的问题记录,可能有用户的骂声,Thats Great!,用户的痛点...

2019-03-20 08:42:13 379 0

转载 浅谈MySQL集群高可用架构

前言 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而言,高可用可能更复杂,对用户的服务可用,不仅仅是能访问,还...

2019-03-08 13:28:28 706 0

原创 软件架构设计-五视图方法论

在实际工作中,我们经常听到“架构”和“架构师”这样的名词,并不新鲜,但是总让很多刚入门的 ​​​在实际工作中,我们经常听到“架构”和“架构师”这样的名词,并不新鲜,但是总让很多刚入门的人感觉很神秘,甚至是高深莫测。很少有人对“架构”有全面的了解和认识能并说清楚架构是什么,更谈不上掌握了。事实上,也...

2019-03-06 16:33:17 1201 0

转载 5种架构视图

在实际工作中,我们经常听到“架构”和“架构师”这样的名词,并不新鲜,但是总让很多刚入门的人感觉很神秘,甚至是高深莫测。很少有人对“架构”有全面的了解和认识能并说清楚架构是什么,更谈不上掌握了。事实上,也只有极少数人能成为或者被冠以“架构师”这样的title。为此,笔者总结了对架构的一些理解,希望能...

2019-03-06 16:29:37 1332 0

转载 各种系统架构图与详细说明

共享平台逻辑架构设计 如上图所示为本次共享资源平台逻辑架构图,上图整体展现说明包括以下几个方面: 1 应用系统建设 本次项目的一项重点就是实现原有应用系统的全面升级以及新的应用系统的开发,从而建立行业的全面的应用系统架构群。整体应用系统通过SOA面向服务管理架构模式实现应用组件的有效整合,...

2019-03-06 15:49:46 415 0

转载 服务架构概述—Spring Cloud&Dubbo

微服务架构概述 微服务是一种架构模式或一种架构风格,提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且...

2019-03-06 14:46:06 62 0

转载 基于 SpringCloud 的微服务治理架构落地实践

一 概述 关于微服务的介绍目前已经有很多文章做了介绍,本文不再对微服务的概念再做进一步阐述,重点将介绍微服务架构具体开发运维方面的经验总结,侧重于落地实践。 目前业界比较热门的微服务开发框架是SpringCloud和dubbo,由于前期一些项目已经使用了SpringBoot进行快速开发,自然就...

2019-03-06 14:42:45 275 0

原创 springcloud2.1.x webflux

网上有很多函数式编程的demo,很少注解式的demo,以下demo为注解式,注解不用写路由,也不用写Handler .使用springcloud 2.1.3 github:https://github.com/moonpure/com.study 里面是最简单的,高手见笑。 1.pom.xm...

2019-02-23 21:30:51 326 0

转载 Reactive编程

Reactive编程很有趣,现在也有各种各样的讨论,概念上不是很容易理解。本文会以具体的形式介绍相关的概念。Reactive编程跟并发和高性能在概念上有一些重合,但在原理上完全不同。Reactive编程跟函数式编程是非常类似的。一些人认为Reactive编程并不是什么新概念,他们在日常工作中经常使...

2019-01-23 14:20:35 163 0

转载 使用Redisson实现分布式锁

1. 可重入锁(Reentrant Lock) Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁。 public void testReentrantLock(RedissonClient...

2019-01-23 11:57:52 155 0

转载 Redis的三个框架:Jedis,Redisson,Lettuce

Jedis api 在线网址:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html redisson 官网地址:https://redisson.org/ redisson git项目地址:https://...

2019-01-23 11:29:58 3053 0

转载 用Redis构建分布式锁

用Redis构建分布式锁 在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的可靠性。 这篇文章的目的就是尝试提出一...

2019-01-23 10:57:04 70 0

转载 Spring Cloud Gateway整合Swagger聚合微服务系统API文档(非Zuul)

首先是子项目Spring Boot项目正常集成Swagger。在业务项目Admin中添加Swagger依赖包(使用Eureka为注册中心,文章未展示多余部分)。 <dependency>     <groupId>io.springfox&...

2019-01-21 10:12:40 4036 2

转载 springboot中filter、interceptor的区别和实例

从概念上来讲,filter是servlet规范定义的,而interceptor是spring定义的。   作用在什么位置?   一次会话,请求在进入servlet容器执行service()方法之前就会经过filter过滤(上图步骤1),在离开servlet容器相应客户端的时候也会经过过滤...

2019-01-21 09:41:30 833 0

转载 Spring boot下添加filter

前言 传统的javaEE增加Filter是在web.xml中配置,如以下代码: <filter> <filter-name>TestFilter</filter-name> <fi...

2019-01-21 09:35:05 121 0

转载 Redis事务和分布式锁

Redis事务   Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到 MULTI 和 EXEC 两个命令,事务开始的时候先向Redis服务器发送 MULTI 命令,然后...

2019-01-18 18:32:19 97 0

转载 kafka消息会不会丢失?为什么?看了这个你就清楚了

消息发送方式 想清楚Kafka发送的消息是否丢失,需要先了解Kafka消息的发送方式。 Kafka消息发送分同步(sync)、异步(async)两种方式 默认是使用同步方式,可通过producer.type属性进行配置; Kafka保证消息被安全生产,有三个选项分别是0,1,-1 通过r...

2019-01-18 15:55:19 650 0

转载 Sharding-Proxy的使用

1、官网下载 sharding-jdbc的官网http://shardingsphere.io/document/current/cn/manual/sharding-proxy/usage/ 下载完进入conf文件如下:       2、配置文件   打开server.yaml文...

2019-01-16 16:26:56 3894 6

原创 JAVA代码热部署,在线不停服动态更新

本地debug的时候,可以实时编译并更新代码,线上也可以不停服来动态更新类,即所说的java热部署。 另 :spring-loaded spring-boot-devtools JRebel 三种方式也可以, JDK代理的两种方式: 1.premain方式是Java SE5开始就提供的代...

2018-12-29 13:53:20 1874 0

转载 SSL/TLS工作原理

一: SSL/TLS介绍 什么是SSL,什么是TLS呢?官话说SSL是安全套接层(secure sockets layer),TLS是SSL的继任者,叫传输层安全(transport layer security)。说白点,就是在明文的上层和TCP层之间加上一层加密,这样就保证上层信息传输的安全。...

2018-12-27 13:12:11 293 0

转载 java实现证书链和签名验证

public static boolean verify(X509Certificate X509certificateRoot, Collection collectionX509CertificateChain,X509CRL X509crl,String stringTarget) { /...

2018-12-25 18:47:44 4164 0

转载 java 证书链添加到p12(pfx)

我有问题,直接将此p12证书转换为java要求的工作jks密钥库. 我这样做了:   keytool -importkeystore -srckeystore certificate.p12 -srcstoretype PKCS12 -destkeystore certificate1.j...

2018-12-25 18:43:40 728 0

转载 使用Hibernate Validator进行跨字段验证

每个字段约束应由不同的验证器注释处理,或者换句话说,不建议对一个字段的验证注释检查其他字段。跨域验证应在类级别进行。此外,表达相同类型的多个验证的JSR-303 Section 2.2优选方式是通过注释列表。这允许每次匹配指定错误消息。   例如,验证通用形式:   @FieldMatc...

2018-12-25 10:09:24 1808 0

原创 springMVC中两种validation的简单使用

校验方式二: Spring Validator  Validator接口的实现: Spring框架的Validator接口定义: package org.springframework.validation; public interface Validator { boolean support...

2018-11-30 21:13:04 330 0

转载 使用curl 命令模拟POST/GET请求

curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载。curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。 在进行web后台程序开发测试过程中,常常会...

2018-11-22 11:33:15 253 0

转载 免费SSL证书

SSL证书,用于加密HTTP协议,也就是HTTPS。随着淘宝、百度等网站纷纷实现全站Https加密访问,搜索引擎对于Https更加友好,加上互联网上越来越多的人重视隐私安全,站长们给网站添加SSL证书似乎成为了一种趋势。 给自己的网站添加SSL证书其实并不复杂,但是关键一点就是首先要拥有一个SS...

2018-11-19 17:19:31 416 0

转载 X.509证书DN详解

X.509使用DN(Distinct Name)来唯一标识一个实体,其功能类似我们平常使用的ID,不过不同的是,DN不再是类似 123456 这样得数字标识,而是采用多个字段来标识一个实体,例如”CN=老所,C=CN”,这样做的好处在于方便匹配到诸如LDAP一样的目录服务中。那么,DN的字段是否可...

2018-11-19 14:30:56 1257 0

转载 JAVA对于数字证书的常用操作

一:需要包含的包 import java.security.*; import java.io.*; import java.util.*; import java.security.*; import java.security.cert.*; import sun.security...

2018-11-17 15:39:42 182 0

转载 java实现安全证书相关操作

package test;      import java.io.ByteArrayOutputStream;   import java.io.File;   import java.io.FileInputStream;   import java.io.FileNotFoundE...

2018-11-17 15:18:00 829 0

转载 java程序实现对证书的操作

1 Java程序从证书文件读取证书 import java.io.*; import java.security.cert.*;  public class PrintCert{  public static void main(String args[ ]) throws Exception{...

2018-11-17 14:24:51 1566 0

转载 ROOT证书、CA证书和使用CA签发的X.509证书

简介 日常开发中,我们程序员不怎么会接触证书相关的问题,对信息安全领域相关的内容知之甚少。因为平时主要实现的业务很少要直接面向底层的通信,也就很少关注这证书这样的知识。在一般情况下,我们仅仅只是在使用一些高层的依赖中会引入证书、加密相关的依赖包,比如: <!-- https://m...

2018-11-15 18:57:49 1998 0

转载 深入理解加密、解密、数字签名(签名证书、加密证书)的组成和数字证书

深入理解加密、解密、数字签名和数字证书    随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。为了能在因特网上开展安全的电子商务活动,公开密钥基础设施( PKI, Public Key Infrastructure )逐步在国内外得到广...

2018-11-14 16:17:31 4385 0

转载 Log4j2-Log4j 2介绍及使用

Log4j 2 官网 Log4j 2简介 架构 日志级别 Filter Appender 将日志请求打印到多个目标 Layout 自定义输出格式 转到Log4j 2 API 控制台Appender的简单配置 文件Appender的简单配置 SocketAppender AsyncAppender ...

2018-10-26 15:13:10 1820 0

转载 取编译后的配置文件路径

package com.sapss.util; /** 自己想取配置文件的路径一般都是要取编译后的路径,这可以用流,但用下面的方式是万能的。 */ import java.io.BufferedInputStream; import java.io.File; import java.io.Fil...

2018-10-26 08:00:24 238 0

转载 openssl 编译安装

官方下载地址:https://www.openssl.org/source/ #解压 $ tar -zxvf openssl-1.1.0h.tar.gz $ cd openssl-1.1.0h #配置(使用sudo是因为要prefix的访问权限) $ sudo ./config --prefix=...

2018-10-14 21:54:26 1046 0

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