自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

原创 微服务入门学习教程(Spring Boot+Spring Cloud+Docker)

从传统项目到互联网项目,从单体应用到微服务架构,从人工运维到自动化运维,从物理机房到云服务器再到Serverless,最后留给开发人员的只剩下了业务服务,业务服务的高可用性和可扩展性就成了开发人员能力的考核点,而微服务就是对应的解决方案。

2019-07-23 18:32:06 4173 1

原创 spring-boot学习:一、spring-boot是什么?

spring-boot已经成为Java开发必选框架,本文简单介绍了spring-boot的由来、策略和特性,以此来说明spring-boot是一个什么样的框架。

2019-07-25 16:14:42 3013

原创 微服务是什么?初识微服务

一、微服务的概念微服务架构可以说是如何将功能分解成一系列服务的一种架构模式。对于一个应用系统包含两部分的需求:第一部分是功能性需求,用于定义一个应用是用来做什么的,该应用系统用来达到什么目的;第二部分就是非功能性需求,包括了对应用系统的扩展性、灵活性,还有性能、运维、安全、测试、监控等需求,这种非功能性需求是用来保障业务系统能够正确、顺畅地运行。而对于微服务架构来说,则着重于后一种需求。总而言...

2019-07-23 17:54:27 4521

原创 (十三)spring-cloud入门学习:服务网关Spring Cloud Gateway

Zuul(1.x) 基于 Servlet,使用阻塞 API,它不支持任何长连接,如 WebSockets,Spring Cloud Gateway 使用非阻塞 API,支持 WebSockets,支持限流等新特性。Spring Cloud Gateway是基于spring生态系统Spring 5, Spring Boot 2和Project Reactor等技术上开发的,它旨在提供简单有效的AP...

2019-07-23 16:07:16 4284

原创 (十二)spring-cloud入门学习:服务注册中心Consul

由于eureka2.x停止维护了,当前spring cloud eureka使用的eureka 1.9.8,所以对当前一些spring cloud系统影响不大,但是spring cloud发展迅速,更新频率低或停更的组件注定会被淘汰。当然也有其他组件可以作为spring cloud注册中心,比如:Consul,Zookeeper,Kubernetes(k8s)。Eureka与Consul最大的区...

2019-07-23 15:40:56 3356

原创 (十一)spring-cloud入门学习:分布式链路跟踪Spring Cloud Sleuth和Zipkin

随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药。于是就有了分布式系统调用跟踪的诞生。本文主要介绍Spring Cloud Sleuth和Zipkin进行链路跟踪。

2019-07-23 15:26:32 4177

原创 (十)spring-cloud入门学习:API服务网关Spring Cloud Zuul

Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。

2019-07-23 15:05:31 3663

原创 (九)spring-cloud入门学习:配置中心和消息总线Spring Cloud Bus

Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。可使用AMQP(RabbitMQ)或Kafka作为通道。

2019-07-23 14:57:30 3394

原创 (八)spring-cloud入门学习:高可用配置中心

客户端都是直接调用配置中心的server端来获取配置文件信息,这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,server端改变IP地址的时候,客户端也需要修改配置,不符合springcloud服务治理的理念。springcloud提供了这样的解决方案,我们只需要将server端当做一个服务注册到eureka中,client端去eureka中去获取配置中心server端的服务即可,而配置中心也可以集群化,从而达到高可用。

2019-07-23 14:40:26 3836

原创 (七)spring-cloud入门学习:配置中心config server(git)

随着线上项目变的日益庞大,每个项目都有各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多。某一个基础服务信息变更,都会引起一系列的更新和重启,运维成本高也容易出错。配置中心便是用来解决此类问题的。一个配置中心提供的核心功能应该有什么:提供服务端和客户端支持集中管理各环境的配置文件配置文件修改之后,可以快速的生效可以进行版本管理支持大的并发查询支持各种语言...

2019-07-23 12:19:15 6857 4

原创 (六)spring-cloud入门学习:断路器聚合监控(Hystrix Dashboard Turbine)

看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。

2019-07-23 11:40:52 2874

原创 (五)spring-cloud入门学习:断路器监控Hystrix Dashboard

在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面。

2019-07-23 11:34:54 2830

原创 (四)spring-cloud入门学习:断路器Hystrix

为了防止服务雪崩,提出了断路器模型,而Netflix提供Hystrix组件实现了断路器模式。

2019-07-23 11:26:13 2813

原创 (三)spring-cloud入门学习:服务消费Feign

Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。

2019-07-23 11:15:03 1414

原创 (二)spring-cloud入门学习:服务消费rest+ribbon

前面讲了如何将服务注册到Eureka服务端,为了保证服务的高可用,同一个服务都会采用集群形式注册多个节点,那如何去消费这些服务?通过IP+端口的形式明显不合理,那就需要通过服务应用名来进行访问,同时需要能够将请求均衡转发到各节点。而Ribbon就很好地解决了这个问题,Ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。1. 创建一个服务消费者工程eureka_ribbon,...

2019-07-18 12:01:27 3542

原创 十、Docker容器时区问题

通过Docker容器启动项目后,发现时间比主机时间少了8个小时,即主机时区为CST而容器时区为UTC。三种解决方案:1. 启动容器加上参数-v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro,如docker run -p 8102:8100 --name spring-docker-idea -v /et...

2019-07-16 15:58:47 2713 1

原创 (一)spring-cloud入门学习:服务注册与发现Eureka

在微服务架构中,各微服务实例的一个重要能力就是可以快速上线或下线,进行水平扩展,并保证服务的可用性。如何保持服务消费者能够与不断上下线的服务进行正常通信,就需要依靠服务治理。服务治理通过抽象将服务提供者与服务消费者进行隔离。消费者不需要知道具体服务提供者的真是地址,也不需要知道有多少个服务提供者可用;而服务提供者只需要将自己注册到服务治理服务器中即可;同时服务治理服务器能够发现并绕开有问题的服务...

2019-07-16 10:40:17 3492

原创 五、基于github+阿里云容器镜像服务进行docker部署

将代码(jar包)托管在github上,使用阿里云容器镜像服务绑定github上的源代码,实现github上发生变更时,阿里云自动构建镜像,docker从阿里云拉取最新镜像并运行,关系如下:本例主要的目的是引入阿里云镜像服务充当第三方镜像库,docker职责单一,统一拉取最新镜像并部署,需要提前准备:1)ECS安装docker2)github账号3)阿里云开通容器镜像服务1. gith...

2019-07-11 16:58:39 4228

原创 四、Spring Boot Docker(基于IDEA部署)

Docker环境搭建起来了,本文将介绍如何使用IDEA将一个工程部署到Docker。环境:ECS服务器(CentOS7.4),InteliJ IDEA(本地开发)1. 创建一个springboot工程,引入spring-boot-starter-web1)pom.xml<?xml version="1.0" encoding="UTF-8"?><p...

2019-07-09 17:56:44 4305 4

转载 三、Docker常用指令集

操作Docker需要指令集,以下是常用指令集:1. 通用指令 操作 命令 示例 查看 docker 版本 docker version docker --version docker version 查看 docker 信息 ...

2019-07-09 17:35:19 2109

原创 二、CentOS安装Docker

Docker分为社区版CE和企业版EE安装Docker-CE,需要CentOS 7以上版本(内核版本高于3.10)

2019-07-09 17:21:00 2942

原创 一、Docker的概念

Docker 是一个开源的应用容器引擎,基于Go语言实现;Docker是一个开发、传输和运行应用程序的开放平台,可以将应用程序与基础架构分离,实现快速交付。

2019-07-09 15:43:51 2740

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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