微服务架构简介(单一架构VS微服务架构)
原文链接:https://dzone.com/articles/microservices-1-introduction-monolithic-vs-microse作者:JahidAkhtar译者:康仔了解单一架构的劣势,以及如何使用微服务解决这些劣势。最近,关于微服务有很多争论。几乎所有的IT公司
Spring Boot 2 集成log4j2日志框架
前言Log4j2是Log4j的进化版本,并提供了许多Logback可用的改进,同时解决了Logback体系结构中的一些固有问题。而且日志处理中我们会用到kafka作为日志管道。而kafka客户端依赖与Logback的兼容不是很完美,你可以选择排除依赖冲突或者使用Log4j2。排除Logback依赖S
Java 中的中介模式(Mediator Pattern)
1.概述在本文中,我们将介绍一种GoF行为模式——中介模式。我们将描述它的目的并说明何时应该使用它。和往常一样,我们还提供简单的示例代码。2.中介模式在面向对象编程中,我们应该总是尝试组件是松耦合和可复用的方式设计系统。这种方法使我们的代码更易于维护和测试。然而,在现实生活中,我们经常需要处理一组复
学好Spring Security 和Apache Shiro你需要具备这些条件
前言web应用达到生产需要就必须有安全控制。javaweb领域经常提及的两大开源框架主要有两种选择SpringSecurity和ApacheShiro。所以学习这两种框架也是java开发者提高水平的必经之路。从今天开始连续一段时间内,研究一下SpringSecurity。如果想学习的同学可以关注一下
Spring源码(七)-IOC中的那些设计模式我们来一起捋捋
前言接上一篇讲下spring-ioc中的设计模式。Spring作为一款及其优秀的框架,其代码的编写非常优秀,里面采用了大量的设计模式。下面我们一点点分析。先简单说下常见的设计模式1、工厂模式2、单例模式3、策略模式4、装饰器模式参考:设计模式学习1、工厂模式【参考】:工厂模式的区别1.1、定义工厂模
RSocket——Http协议的替代者
1.简介RSocket是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,RSocket是HTTP等其他协议的替代方案。它是一种基于ReactiveStreams规范具有异步,背压的双向,多路复用,断线重连,基于消息等特性。它由Facebook,Ne
用google map实现周边搜索功能
项目要实现根据经纬度获取附近的建筑,由于项目在海外运营,谷歌地图首当其冲。首先说明的是,该功能需要在服务端实现,也就是安卓的SDK不适用。api文档地址:https://developers.google.com/places/web-service/search#PlaceSearchResult
云原生微服务网关 Kong 和Kong 管理UI Konga快速安装攻略
1.前言上一文我们对Kong网关的简单介绍,今天我们来搭建Kong的环境。以便于以后对Kong的进一步了解和学习。2.Kong支持的环境从上图来看Kong对Linux、MacOS、容器、云支持的还是比较全面的。鉴于大部分国内开发者使用的是Windows环境。本文依然使用Docker进行安装。建议对D
MySQL性能优化(五)-- 主从复制
一、概念Mysql复制(replication)是一个异步的复制,从一个Mysql实例(Master)复制到另一个Mysql实例(Slave)。实现整个主从复制,需要由Master服务器上的IO进程,和Slave服务器上的Sql进程和IO进程共从完成。要实现主从复制,首先必须打开Master端的bi
微服务网关除了zuul、spring cloud gateway还有更出色的
前言在微服务架构中,由于系统和服务的细分,导致系统结构变得非常复杂,为了跨平台,为了统一集中管理api,同时为了不暴露后置服务。甚至有时候需要对请求进行一些安全、负载均衡、限流、熔断、灰度等中间操作,基于此类种种的客观需求一个类似综合前置的系统就产生了,这就是API网关(APIGateway)。AP
MySQL性能优化(四)-慢查询
1.慢查询的用途它能记录下所有执行超过longquerytime时间的SQL语句,帮我们找到执行慢的SQL,方便我们对这些SQL进行优化。2.查看是否开启慢查询showvariableslike'slow_query%%';slowquerylog=off,表示没有开启慢查询slowquerylog
java中的数字以及如何判断字符串是不是数字
01前言数字是计算机科学的根本,那么java中数字是怎样来表示呢?规则又是怎样呢?今天我们来探讨一下这个话题。数字在某些领域经常用字符串来进行表示和传递。那么我们可以从判断java中一个字符串是否是数字来获取一些有用的信息。02空字符和null首先我们可以很清晰的知道空字符`""`和`null`肯定
MySQL性能优化(三)-- 索引
一、什么是索引及索引的特点索引是一种数据结构索引的特点:查找速度快,排好序,数据结构索引的数据结构类型有:BTREE索引和HASH索引,下面展示的是BTREE索引。BTREE:balancetree(平衡树)BTREE的特点实例:假设有一张表,表中的数据为下图中的左侧,则索引中数据为下图中的右侧:如
MySQL性能优化(二)-- 数据类型,SQL,八种连接
一、mysql数据类型优化原则1.能够使用最小数据类型存储时,尽量使用最小数据类型存储(前提是要评估字段值的真实数据存储范围)eg:createtableaaa(id1int(10)zerofill,id2int(10));(1)int(n)中的n代表宽度,表示没有设定宽度的时候,用0填充,需要配合
分布式系统中的CAP理论是什么?
2000年7月,加州大学伯克利分校的EricBrewer教授在ACMPODC会议上提出CAP猜想。2年后,麻省理工学院的SethGilbert和NancyLynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。一个分布式系统最多只能同时满足一致性(Consistency)、
MySQL性能优化(一)-- 存储引擎和三范式
一、MySQL存储引擎存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。MySQL5.5以后默认使用InnoDB存储引擎。下图是MySQL中各种存储引擎
责任链设计模式讲解
前言很多框架如mybatis,servlet的filter,dubbo,安全框架诸如Springsecurity、apacheshiro都会用到设计模式中的责任链模式,所以学习责任链模式成为帮助你学习以上这些框架的一个好的手段之一。今天我们就来了解一下责任链模式。定义如果有多个对象(Handler)
Kafka(一)-- 初体验
一、概念Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop的一样的日志数据和离线分析系统
Java Web 面试中关于Spring MVC的必问题,不收藏血亏!
SpringMVC是Spring构建在ServletAPI上的Web框架。目前大部分的JavaWeb开发已经使用SpringMVC来做。它提供了模型-视图-控制器架构,可用于开发灵活的Web应用程序。在本教程中,我们将重点关注与之相关的问题,因为它通常是Spring开发人员面试的热点问题。强烈建议收
Nginx(八)-- Nginx+keepalived实现高可用
一、keepalived简介1.什么是keepalived基于VRRP(虚拟路由器冗余协议)来实现对web服务的高可用方案。keepalived下载地址:http://download.csdn.net/detail/u010821757/98924842.安装keepalived服务器1.将kee