• Kafka 原理以及分区分配策略剖析

    一、简介Apache Kafka 是一个分布式的流处理平台(分布式的基于发布/订阅模式的消息队列【Message Queue】)。流处理平台有以下3个特性:可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。可以储存流式的记录,并且有较好的容错性。可以在流式记录产生时就进行处理。1.1 消息队列的两种模式1.1.1 点对点模式生产者将消息发送到queue中,然...

    java技术 2021年01月19日 70 0
  • 如何使用RabbitMQ实现事件总线

    1 前置阅读在阅读本文章之前,你可以先阅读:RabbitMQ入门什么是观察者模式什么是事件总线2 实现首先,事件源与事件处理的映射字典。private static Dictionary<string, List<object>> eventHandlers = new Dictionary<string, List<object>&g...

    java技术 2021年01月18日 40 0
  • spring security 业界标准加密策略源码详解及

    密码发展历史果奔时代最初,密码以纯文本格式存储。假定密码是安全的,因为数据存储密码已保存在访问它所需的凭据中。但是,恶意用户能够使用SQL注入之类的攻击找到方法来获取用户名和密码的大型“数据转储”。随着越来越多的用户凭证成为公共安全专家,我们意识到我们需要做更多的事情来保护用户的密码。单向 Hash然后鼓励开发人员在通过诸如SHA-256之类的单向哈希运行密码后存储密码。由于散...

    java技术 2021年01月14日 92 0
  • Nacos Discovery和Eureka的区别

    Eureka架构图:Eureka架构图1.服务注册(register):Eureka Client会通过发送REST请求的方式,向Eureka Server注册自己的服务。注册时,提供自身的元数据,比如ip地址、端口、运行状况指标、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数据信息存储在一个双层的Map中。 什么时候注册?在启动微服务的时候。2.服...

    java技术 2021年01月13日 64 0
  • 对API网关注册和接入的接口安全管理总结

    今天谈下对API网关接入的接口服务进行安全管理方面的内容。在原来谈Kong网关的时候,曾经谈到Kong网关和安全相关的插件能力,其中包括了身份认证插件:Kong提供了Basic Authentication、Key authentication、OAuth2.0 authentication、HMAC authentication、JWT、LDAP authentication...

    java技术 2020年12月20日 110 0
  • SSO的通用标准OpenID Connect

    简介OpenID Connect简称为OIDC,已成为Internet上单点登录和身份管理的通用标准。 它在OAuth2上构建了一个身份层,是一个基于OAuth2协议的身份认证标准协议。OAuth2实际上只做了授权,而OpenID Connect在授权的基础上又加上了认证。OIDC的优点是:简单的基于JSON的身份令牌(JWT),并且完全兼容OAuth2协议。今天我们将会介绍一...

    java技术 2020年12月16日 120 0
  • SpringBoot中如何让List和Json自动互转

    之前业务开发时,有一个字段接收的数据是Json格式的,并且需要以Json形式入库:数据库中是这样存储的,这里实际是一个Json数组。[   {     "label": "result1",     "name": "较好",   &nbs...

    java技术 2020年12月15日 222 0
  • OAuth 2.0授权框架详解

    简介在现代的网站中,我们经常会遇到使用OAuth授权的情况,比如有一个比较小众的网站,需要用户登录,但是直接让用户注册就显得非常麻烦,用户可能因为这个原因而流失,那么该网站可以使用OAuth授权,借助于github或者其他的第三方网站的认证授权,来获取相关的用户信息,从而避免了用户注册的步骤。当然,很可能在第三方网站上授权获得用户信息之后,还需要在本网站填写一些必要的信息进行绑...

    java技术 2020年12月15日 186 0
  • SpringBoot中如何实现接口的统一返回和异常的统一捕获

    接口的统一返回在开发公司接口时,发现Controller层的接口返回都需要用一个Result包裹,如下图所示:图示代码中无论是创建接口或者查询接口,这里都需要用一个Result去接收,我们来看看Result的结构:这个Result中有几个字段:“code:状态码message:状态信息data:装载正真返回的数据exception:异常数据”然后我们测试下接口,看看返回样式:调...

    java技术 2020年12月15日 176 1
  • Spring Cloud系列Gateway:自定义断言规则

    尽管Spring Cloud Gateway已经包含了很多路由匹配规则,有时候我们需要开发自定义路由匹配规则来满足需求,下面简单的介绍一下如何自定义路由匹配规则。需求转发请求参数中带有token并且token值为123的请求。实现实现有三步步骤,如下所示修改配置文件spring: profiles: customPredicate cloud: gateway:...

    java技术 2020年12月11日 272 0
  • 阿里开源的分布式事务框架 Seata

    1. Seata 概述Seata 是 Simple Extensible Autonomous Transaction Architecture 的简写,由 feascar 改名而来。Seata 是阿里开源的分布式事务框架,属于二阶段提交模式。目前github上已经有 12267 颗星了,也很活跃,最新的提交时间很多都是几天前。首先我们回顾一下在单体应用中,例如一个业务调用了3...

    java技术 2020年12月11日 1359 0
  • Swagger3.0官方starter诞生了

    Swagger是研发的好帮手,可以减少前后端的很多沟通成本。甚至在一些比较高级的公司,还能减少和测试人员的沟通成本。所以只要一个项目采用了SpringBoot框架,Swagger几乎是必选的组件。可惜的是,Swagger只是一个工具。集成的时候,需要修改pom文件,增加两个jar包。还要做配置,运气不好的项目还需要修改WebMvcConfigurer中的内容。在SpringBo...

    java技术 2020年12月04日 325 0
  • 直上云霄!这次聊一聊分布式事务中间件Seata

    简介Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。角色Seata 的设计思路是将一个分布式事务可以理解成一个全局事务,下面挂了若干个分支事务,而一个分支事务是一个满足 ACID 的本地事务,因此我们可以操作分布式事务像操作本地事务一...

    java技术 2020年11月23日 195 0
  • 工作流Activiti流程图各元素之开始事件和结束事件介绍

    我们常见的工作流流程图,通过各元素的拖拽生成,如下图:要想生成根据业务需求制定的流程图,首先要知道这些构成元素代表的是什么,这篇就来将一下这些元素的作用。通过activiti集成eclipse,会在开发工具的右边显示这些元素:从一级分类中可以看出,分为开始事件、结束事件、任务、子流程和调用节点、网关、边界事件、捕获和触发事件、顺序流等,下面就来介绍一下里面的子元素:一、开始事...

    java技术 2020年11月15日 403 0
  • Spring Boot Admin 2.2.4 发布,兼容最新版本 Spring Boot

    spring boot admin 2.2.4 版本发布,本版本为 bug 修复版本 主要兼容 spring boot 2.3.x。<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</ar...

    java技术 2020年07月30日 914 0
  • 正则表达式入门教程学习资料

    引言grep是Linux中用于文件处理的最有用和最强大的命令之一。grep在一个或多个输入文件中搜索与正则表达式匹配的行,并将每个匹配的行写入标准输出。在本文中,我们将探索如何在grep的GNU版本中使用正则表达式的基础知识,该版本在大多数Linux操作系统中默认可用。grep的正则表达式正则表达式(regex)是与一组字符串匹配的模式。模式由操作符、构造文字字符和元字符组成,...

    java技术 2020年07月30日 338 0
  • websocket连接太多导致服务器卡顿怎么办?一招轻松实现横向扩展

    前言项目中有即时聊天的需求,经过调研我们采用了socket.io自己实现了一个聊天服务器。开始的一段时间由于用户不是很多,消息的发送接收都还算流畅,最近随着在线用户数量飙升,每过一段时间就会发生发送消息卡顿和接收消息延时的问题,最后只能通过重启socket服务来暂时解决问题。那有没有办法从根本上解决这个问题呢?目录什么是socket.io?用socket.io实现一个简易的即时...

    java技术 2020年05月04日 1860 0
  • SpringBoot开发者都在用的五款优质扩展,每个都很能打!

    1.spring-boot-paySpring Boot 的支付服务:支付宝,微信,银联详细代码案例。项目地址:https://gitee.com/52itstyle/spring-boot-pay 2.springboot-bucketSpringBoot 全家桶 —— 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一篇博客 +...

    java技术 2020年04月21日 474 0
  • MyBatis 的 DAO 接口跟 XML 文件里面的 SQL 是如何建立关系的?

    我们在使用 MyBatis 的时候,都用的是 Dao 接口和 XML 文件里的 SQL 一一对应来进行使用的。那你是否思考过二者是如何建立关系的?在开始正文之前,首先解释 Dao 接口和 XML 文件里的 SQL 是如何一一对应的?一句话讲完就是:MyBatis 会先解析这些 XML 文件,通过 XML 文件里面的命名空间 (namespace)跟 DAO 建立关系;然后 XM...

    java技术 2020年04月20日 521 0
  • SpringBoot2.0 整合 SpringSecurity 框架,实现用户权限安全管理

    一、Security简介1、基础概念Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring的IOC,DI,AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为安全控制编写大量重复代码的工作。2、核心API解读1)、...

    java技术 2020年04月18日 480 0
  • 教你如何快速使用Spring Cloud Config

    Spring Cloud Config为分布式系统中的外部化配置提供服务器端和客户端支持。 使用config组件只需要以下几步:1. 引入依赖在springboot项目pom文件中添加如下依赖<!--config-server依赖--><dependency> <groupId>org.springframework.cloud<...

    java技术 2020年04月13日 481 0
  • Token,Cookie、Session傻傻分不清楚?

    在做接口测试时,经常会碰到请求参数为token的类型,但是可能大部分测试人员对token,cookie,session的区别还是一知半解。Cookiecookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站...

    java技术 2020年02月22日 1171 0
  • 软件更新丨Spring Boot 2.1.8 发布

    Spring Boot 2.1.8 发布了,更新内容如下: New Features添加了 Issuer Validation 的其他资源服务器配置 #17952在依赖关系管理中公开依赖管理插件版本 #17842Bug Fixes使用未命名为 flywayInitializer 的自定义 FlywayMigrationInitializer bean 的 NoSuchBeanD...

    java技术 2019年12月04日 661 0
  • 一个JAVA开源的识别库,可以对常用的二维码,身份证,银行卡等识别

    Scanner 识别库,识别器可选择,这里有你常用的二维码/条码识别,还有你可能用到的身份证、银行卡识别,如果没有你想要的,可以自定义识别器。 该库只识别扫描框内的图像,识别速率上大大提高,而且这个库比起其它的库就是解决了摄像头预览变形,预览页面高度自定义,你可以像常规一样整个页面都是预览,或者你可以选择在任何位置定义任何尺寸的预览,扫描框也高度自定义,你可以像常规一样居中,...

    java技术 2019年10月11日 1420 0
  • 如何设计千万级用户量网站的高并发架构?

    本文将会从一个大型的网站发展历程出发,一步一步的探索这个网站的架构是如何从单体架构,演化到分布式架构,然后演化到高并发架构的。 (1)单块架构 一般一个网站刚开始建立的时候,用户量是很少的,大概可能就几万或者几十万的用户量,每天活跃的用户可能就几百或者几千个。 这个时候一般网站架构都是采用单体架构来设计的,总共就部署3台服务器,1台应用服务器,1台数据库服务器,1台图...

    java技术 2019年09月21日 768 0
  • xxl-job v2.1.1正式发布

    2019年7月7日,国内开源调度框架xxl-job发布最新v2.1.0版本,该版本在底层调度框架上移除对quartz依赖,可谓是一次非常大的版本更新。 v2.1.0更新说明 自研调度组件,移除quartz依赖:一方面是为了精简系统降低冗余依赖,另一方面是为了提供系统的可控度与稳定性; 触发:单节点周期性触发,运行事件如delayqueue; 调度:集群竞...

    java技术 2019年07月19日 4844 0
  • Flowable6.4.2正式发布

    2019年7月11日,开源工作流引擎Flowable发布6.4.2版本。原本业内普遍预测七八月份Flowable会直接发布6.5.0版本,但目前看还要再等一等。 6.4.2版本主要是一个bug修复版本,新增特性不是很多。 下一个版本将是Flowable 6.5.0,将在其中添加如历史清理和改进的JMS消息传递支持等新的特性。 6.4.2版本说明 总体 支持Cockro...

    java技术 2019年07月19日 4452 0