摘要: API网关是一个更为智能的应用服务器,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤。它除了要实现请求路由、负载均衡、校验过滤等功能之外,还需要更多能力,比如与服务治理框架的结合、请求转发时的熔断机制、服务的聚合等一系列高级功能。 正此Spring Cl 阅读全文
posted @ 2018-05-31 10:24 StoneGeek 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 在微服务架构中,存在那么多的服务单元,若一个单元出现故障(由于网络原因或者自身原因),就很容易因依赖关系而引发故障的蔓延,最终导致整个系统的瘫痪,这样的架构相较传统架构更加不稳定。为了解决这样的问题,产生了断路器等一系列的服务保护机制。(A服务调用B服务,B服务由于自身处理逻辑等原因造成响应缓慢,会 阅读全文
posted @ 2018-05-29 16:54 StoneGeek 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 一、微服务架构 简单的说,微服务是系统架构的一种设计风格,它的主旨是将一个原本独立的系统拆分为多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。被拆分的每一个小型服务都围绕着系统中的某一项或耦合度较高的业务功能进行构建,并且每个服务都维 阅读全文
posted @ 2018-05-29 11:39 StoneGeek 阅读(957) 评论(0) 推荐(0) 编辑
摘要: 前言 在Java并发编程实战,会经常遇到多个线程访问同一个资源的情况,这个时候就需要维护数据的一致性,否则会出现各种数据错误,其中一种同步方式就是利用Synchronized关键字执行锁机制,锁机制是先给共享资源上锁,只有拿到锁的线程才可以访问共享资源,其他线程进入等待状态。下面将以实例代码讲解一下 阅读全文
posted @ 2018-05-19 21:59 StoneGeek 阅读(3703) 评论(1) 推荐(0) 编辑
摘要: 前言 整个因特网就是一个单一的、抽象的的网络。IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符。IP地址的结构使我们可以在因特网上很方便的进行寻址。其中IP的编制方法共经过了三个历史阶段:一、分类的IP地址 二、子网的划分、三、构成超网 一、IP地 阅读全文
posted @ 2018-05-15 18:20 StoneGeek 阅读(1874) 评论(0) 推荐(0) 编辑
摘要: Spring Bean有三种配置方式: 传统的XML配置方式 基于注解的配置 基于类的Java Config 添加spring的maven repository 一、传统的XML配置方式 BeanFactory.java BeanFactoryImpl.java applicationContext 阅读全文
posted @ 2018-05-13 11:13 StoneGeek 阅读(13241) 评论(0) 推荐(1) 编辑
摘要: 本文介绍一下如何对MySQL进行SQL优化!! 一、优化SQL语句的一般步骤 1、通过show status命令了解各种SQL的执行频率 MySQL客户端连接成功之后,通过show [ session|global ] status命令可以提供服务状态信息。该命令可以根据需要加上参数“session 阅读全文
posted @ 2018-05-11 17:52 StoneGeek 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 前言 索引是数据库中用来提高性能的最常用工具,所有的MySQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径。 一、设计索引的原则 二、索引的分类 1、普通索引 普通索引是最基本的索引 直接创建索引 修改表结构创建索引 创建表的同时创建索引 删除索引 2、唯一索引 与前面的 阅读全文
posted @ 2018-05-10 11:13 StoneGeek 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 前言 时至今日,商业机构和开源机构已经在Java语言之外发展出一大批在Java虚拟机之上运行的语言,如Groovy、JRuby、Scala等。Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以 阅读全文
posted @ 2018-05-08 19:29 StoneGeek 阅读(268) 评论(1) 推荐(0) 编辑
摘要: 现在有如此众多web服务器,我觉得nginx服务器一个很重要的优势就是它能在支持高并发请求的同时保持高效的服务,接下来我将搭建一个简单的web服务器。 1、编写自己的网页 在nginx目录下新建文件夹(可以在任何地方新建,区别就是server location /不同) 创建自己的html网页,并授 阅读全文
posted @ 2018-05-06 11:15 StoneGeek 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 前言 nginx是一个高性能的HTTP和反向代理的服务器。它有三个最基本的功能,一是当做web服务器、二是作为反向代理服务器、三是提供负载均衡(在反向代理基础上),由于它占有内存小,并发能力强,所以在同类型的服务器中脱颖而出,淘宝,腾讯,百度等国内巨头互联网公司也常用nginx。文将与大家分享一下n 阅读全文
posted @ 2018-05-04 18:17 StoneGeek 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 前言 读本文之前,需要大家对redis有所了解,大家可以去看一下我之前分享的redis安装及简单使用这一随笔,而本文我将跟大家分享学习一下redis与spring的集成。当然,首先需要打开我们的redis服务,之后才可以继续进行我们的集成。 项目主要是将从mysql数据库查询出来的数据缓存到redi 阅读全文
posted @ 2018-05-03 11:38 StoneGeek 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 前言 一般企业级开发,数据库用的都是关系型数据库Mysql、Oracle及SqlServer。无一例外,在开发过程中,我们都必须通过数据库驱动来连接到数据库,之后才可以完成对数据库的增删改查等业务。而本文将和大家共同分享学习一下redis这种高性能的key-value数据库,也通常被大家称为内存高速 阅读全文
posted @ 2018-04-29 17:10 StoneGeek 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 前言 对于现在的java开发人员来说,MyBatis无疑是一种优秀的持久化框架,它可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录,是用来操作数据库的一把利器,本节想跟大家 阅读全文
posted @ 2018-04-28 22:32 StoneGeek 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 摘要 程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行者出栈和入栈。每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由JIT编译器进行一些优化),因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过 阅读全文
posted @ 2018-04-27 09:40 StoneGeek 阅读(214) 评论(0) 推荐(0) 编辑