
架构
文章平均质量分 65
嘿lemon
http://my.youkuaiyun.com/u012343297#
展开
-
JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要前后端分离?2.0版,为分布式架构打基础。
前戏前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。核心思想是前端html页面通过ajax调用转载 2017-12-07 15:32:19 · 527 阅读 · 0 评论 -
负载均衡算法
1.轮询 所有请求依次分发到每台应用服务器上,即每台服务器需要处理的请求数目都相同。 2.加权轮询 在轮询的基础上,根据配置的权重将请求分发到不同的服务器上。 3.随机 请求被随机分配到各个不同服务器上,这种方案简单实用,因为好的随机数本身就很均衡,即使应用服务器的配置不同,也可以使用加权随机算法。 4.最小连接 将新到的连接分配到最少的连接的服务器上。应该说这种方式是最符合负载均衡...原创 2018-03-21 11:09:02 · 181 阅读 · 0 评论 -
分布式/集群环境下session处理策略
1. session复制Session复制是早期企业应用系统使用较多的一直服务器集群session管理机制。应用服务器开启Web容器Session复制功能,在集群中的几台服务器之间同步session对象,使得每台服务器上都保存所有用户的Session信息,这样任何一台机器宕机都不会导致Session数据的丢失,而服务器使用session时,也只需要在本机获取即可。 这种方案简单,从本机...原创 2018-03-20 17:51:59 · 236 阅读 · 0 评论 -
SpringCloud微服务实战之服务治理Eureka(单节点)
Euraka是NetFlix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理和服务发现功能。示例:一、Eureka搭建服务注册 1、创建maven项目SpringCloud-EurekaServer 2、修改pom.xml文件,pom中添加Euraka依赖jar包。<project xmlns="http://maven.apache原创 2017-12-19 17:02:59 · 1985 阅读 · 0 评论 -
SpringCloud微服务实战之服务消费者Ribbon+RestTemplate
Eureka服务治理体系中有3个核心角色:服务注册中心、服务提供者、服务消费者。spring cloud的服务调用又分为两种方式:ribbon+RestTemplate和feign,本篇主要说的是ribbon+restTemplate方式。 Spring Cloud Ribbon是基于Http和Tcp协议的客户端负载均衡工具,基于Netflix Ribbon实现,它只是一个工具类,不需要独原创 2017-12-20 13:49:05 · 7372 阅读 · 0 评论 -
SpringCloud微服务实战之断路器Hystrix
在微服务架构中,一个服务单元往往依赖其他很多的服务单元,若其中一个发生故障,很容易导致服务阻塞。针对这些问题,Spring Cloud Hystrix实现了断路器、线程隔离等一系列功能。 Spring Cloud Hystrix是基于Netflix的开源架构Hystrix来实现的,该框架的目标在于通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更大的容错能力。Hystr原创 2017-12-20 16:45:34 · 440 阅读 · 0 评论 -
SpringCloud微服务实战之Feign
Spring Cloud Feign基于Netflix Feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,它除了提供这两者的强大功能之外,还提供了一种声明式的web服务客户端定义方式。一、使用Feign实现HelloService服务消费 1、创建Maven项目SpringCloud-Feign,目录结构如下 2、pom中添加feign依赖原创 2017-12-21 10:03:38 · 3792 阅读 · 1 评论 -
SpringCloud微服务实战之网关服务zuul
Spring Cloud Zuul同样是基于NetFlix Zuul实现的API网关组件。主要用于解决1.对于路由规则和服务实例的维护问题。2.对于类似签名校验、登录校验在微服务架构中的冗余问题。一、构建网关 1、新建Maven项目SpringCloud-zuul 2、在pom中添加zuul依赖 <!-- add zuul depend --> <dependency>原创 2017-12-21 16:18:23 · 4464 阅读 · 0 评论 -
SpringCloud微服务实战之配置中心Config
Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中基础设施和微服务应用提供集中化的外部配置支持,它分为服务端和客户端两个部分。一、服务端配置 1、创建SpringCloud-Config项目,搭建服务配置中心 2、在pom中添加Config依赖<dependencies> <dependency>原创 2017-12-22 13:22:07 · 3318 阅读 · 0 评论 -
SpringCloud微服务实战之消息总线BUS-RabbitMQ
Spring Cloud Bus支持两款消息中间件:RabbitMQ、Kafka。一、RabbitMQ实现消息总线 1、RabbitMQ简介 RabbitMQ是实现了高级消息对列协议(AMQP)的开源消息代理软件,它是用高性能、可伸缩而闻名的Erlang语言编写而成的,其集群和故障转移是构建在开放电信平台框架上的。 2、RabbitMQ的基本概念Broker:可以理解为消息队列服务器实体,原创 2017-12-22 13:55:45 · 9816 阅读 · 1 评论 -
SpringCloud微服务实战之消息驱动Stream
Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力的架构,它为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并且引入了发布-订阅、消费组以及分区这三个核心概念。简单的说,Spring Cloud Stream本质上是整合了Spring Boot和Spring Integration,实现了一套轻量级的消息驱动的微服务框架。一、构建一个简单服务1、创建Maven原创 2017-12-25 10:20:53 · 2929 阅读 · 0 评论 -
SpringCloud微服务实战之分布式服务跟踪Sleuth
通常一个由客户端发起的请求会在后端系统中经过多个不同的微服务调用来协同产生最后的请求结果,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一条复杂的分布式服务调用链路,每条链路服务痴线错误或者延迟都有可能引起请求的失败。Spring Cloud Sleuth提供了一套全链路调用跟踪以及监控分析方案。一、测试链路跟踪 1、创建项目SpringCloud-Sleuth和SpringCloud-T原创 2017-12-25 15:45:56 · 865 阅读 · 1 评论 -
springboot+sqlite+maven+mybatis
以前一直使用mysql或oracle结合mybatis实现数据持久化,今天需要使用sqlite,研究了一下,再查查资料,搭建成功,现将过程记录下来,以为备忘。1、首先添加依赖包spring boot依赖 parent> groupId>org.springframework.bootgroupId> artifactId>spring-boot-原创 2018-01-25 16:53:08 · 13791 阅读 · 0 评论 -
SpringBoot之MyBatis多数据源配置实现
1.新建SpringBootDemo_mutilDatasource项目 配置pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM原创 2017-12-18 17:25:36 · 8936 阅读 · 1 评论 -
Spring Boot之springboot+mysql+mybatis搭建
创建数据库及数据表:CREATE DATABASE /*!32312 IF NOT EXISTS*/`springbootdb` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `springbootdb`;/*Table structure for table `user` */DROP TABLE IF EXISTS `user`;CREATE TABLE原创 2017-12-18 15:39:17 · 22521 阅读 · 1 评论 -
Window下安装RabbitMQ
1、先安装RabbitMQ依赖语言开发包ErLang,下载ErLang:http://www.erlang.org/downloads,得到otp_win64_20.2.exe运行。 2、安装成功后配置环境变量ERLANG_HOME=C:\Program Files\erl9.2Path中加入 %ERLANG_HOME%\bin;3、配置成功后测试,CMD 输入erl 4、下载RabbitMQ原创 2017-12-22 16:01:46 · 3720 阅读 · 0 评论 -
浅析java日志框架slf4j
很多开源代码日志框架都使用slf4j,slf4j(Simple Loging Facade For Java)直译过来就是简单java日志门面,它是Java提供的日志输出接口而非日志实现方案。故而slf4j需要搭配其他日志框架,如log4j、logback等来使用。 一、使用slf4j比直接使用其他日志实现方案来实现日志功能的好处 在实际框架搭建和代码编写过程中,我们会经常用到其他框架,而不同...原创 2018-04-11 16:01:37 · 307 阅读 · 0 评论