深入理解Spring Cloud与微服务构建

文章目录:

一、微服务简介

随着互联网技术的飞速发展,目前全球超过一半的人口在使用 互联网,人们的生活随着互

联网的发展,发生了翻天覆地的变化。各行各业都在应用互联网,国家政策也在大力支持互联

网的发展。随着越来越多的用户参与,业务场景越来越复杂,传统的单体架构已经很难满足互

联网技术的发展要求。这主要体现在两方面,- -是随着业务复杂度的提高,代码的可维护性、

扩展性和可读性在降低:二是维护系统的成本、修改系统的成本在提高。所以,改变单体应用

架构已经势在必行。另外,随着云计算、大数据、人工智能的飞速发展,对系统架构也提出了

越来越高的要求。

微服务,是著名的00 (面向对象,Object Oriented) 专家Martin Fowler提出来的,它

是用来描述将软件应用程序设计为独立部署的服务的一种特殊方式。 最近两年,微服务在各

大技术会议、文章、书籍上出现的频率已经让人们意识到它对于软件领域所带来的影响力。

微服务架构的系统是一一个分布式系统,按业务领域划分为独立的服务单元,有自动化运维、

容错、快速演进的特点,它能够解决传统单体架构系统的痛点,同时也能满足越来越复杂的

业务需求。

1.1单体架构及其存在的不足


1.2微服务


1.3微服务的不足


二、Spring Cloud 简介

Spring Cloud 作为 Java 言的微服务框架,它依赖于 Spring Boot ,有快速开发、持续交付和

容易部署等特点。 Spring Cloud 的组件非常多,涉及微服务的方方面面,井在开源社区 Spring

Netflix Pivotal 两大公司的推动下越来越完善。本章主要介绍 Spring Cloud ,将从以下方面来讲解


2.1微服务应该具备的功能

微服务,可以拆分为“微”和“服务” 字。“微”即小的意思,那到底多小才算“微”

呢?可能不同的团队有不同的答案。从参与微服务的人数来讲,单个微服务从架构设计、代码

开发、测试、运维的人数加起来是 10 人才算“微”。那么何为“服务”呢?按照“微服务”

概念提出者 Martin Fowler 给出的定义:“服务”是 个独立运行的单元组件,每个单元组件运

行在独立的进程中,组件与组件之间通常使用 HTTP 这种轻量级的通信机制进行通信。


2.2Spring Cloud


2.3Dubbo 筒介

Dubbo是阿里巴巴开源的一个分布式服务框架,致力于提供高性能和透明化的RPC远程

服务调用方案,以及SOA服务冶理方案。Dubbo 广泛用于阿里巴巴的各大站点,有很多互联

网公司也在使用这个框架,它包含如下核心内容。


三、构建微服务的准备

子曰 :“ 工欲善其事,必先利其器”。说的是做好 件事,准备工作是非常重要的。本章和

章主要介绍构建微服务前的准备工作 ,本章介绍开发环境的搭建,下 章讲解开发框架

Spring Boot 的入门 。搭建的环境包括 JDK 的安装、开发工具的安装,以及项目的构建工具。

常见的开发 Spring Cloud 项目的工具包括 MyEclipse IntellJ Idea (简称 IDEA ),强烈推荐使用

IDEA 作为开发工具。 IDEA Spring Boot 起使用,个人认为是开发 Java 程序的最佳体验。

本书的案例代码都是在 IDEA 上开发的,所以本章介绍的开发工具也是 IDEA 。项目的构建工

具包括 Apache Maven Gradle , Gradle 一个基于 Apache Ant Apache Maven 概念的项目

自动化构建的工具。两个构建工具都非常方便,按个人习惯来选择, Apache Maven 的使用

要高 ,所以选择介绍的构建工具为 Apache Maven

3.1JDK的安装


3.2IDEA的安装

对于习惯了使用Eclipse或者MyEclipse的开发者来说,可能不愿意换新的IDEA,因为需

要花时间去学习,还要去适应新的开发工具。个人觉得,IDEA 比Eclipse 系列好用很多,它

带来了不一一样的开发体验,主要体现在以下5个方面。

1.有对用户更加友好的界面, 有更加护眼的黑色主题,感觉更高端大气。

2.比Eclipse更加智能,主要体现在代码的补全方面。

3.更加友好的代码提 示功能。

4.内置 Maven、Gradle 等构建工具,并且下载依赖包非常智能和流畅。

5.更加强大的纠错能 力。

虽然,Eclipse 和IDEA都能开发出Java项目,Eclipse 也非常好用,但两者的写代码体验

不在一个级别上。IDEA 具有更友好的界面和更智能的代码提示,以及更强大的纠错能力,所

以IDEA写代码体验更好、效率更高。建议读者用IDEA来开发Java 项目,本书所有的代码都

是用IDEA来写的。

四、开发框架 Sp ig Boot

Spring Boot 是由 Pivotal 团队开发的 Spring 框架,采用了生产就绪的观点 ,旨在简化配置,

致力于快速开发。 Spring Boot 框架提供了自动装配和起步依赖,使开发人员不需要配置各种

xml 文件。通过这种方式,极大地提高了程序的开发速度。因此, Spring Boot 被认为是新

Web 开发框架。

在过去的 Spring 发中,需要引入大量的 ml 文件 Spring 2.5 引入了包扫描,消除了

式的配置 Beano Spring 3.0 又引入了基于 JavaBean 的配置,这种方式可以取代 xml 文件。尽

管如此,在实际的开发中还是需要配置 xml 文件,例如配 SpringMVC 事务管理器、过滤

器、切面等。

在项目的开发过程中,会引入大量的第 方依赖,选择依赖是 件不容易的事,解决依赖

与依赖之间的冲突也很耗费精力。所以,在以前的 Spring 开发中,依赖管理也是 件棘手的

事情。

4.1Spring Boot 的特点

对比之前的 Spring, Spring Boot 三大特点 :自动配置、起步依赖和 Actuator 运行状

态的监控。

4.2用IDEA构建 Spring 则工程


五、服务注册和发现 Eureka

“Eureka”来源于古希腊词汇,意为“发现了”。在软件领域,Eureka 是Netlix在线影片

公司开源的一个服务注册与发现的组件,和其他Netflix公司的服务组件( 例如负载均衡、熔

断器、网关等) - 起, 被Spring Cloud社区整合为Spring Cloud Netlix模块。

本章将从以下4个方面来讲解服务注册与发现模块Eureka。

口Eureka 简介。

口编写一个 Eureka注册和发现的例子。

口深入理解 Eureka。

口编写高可用 的Eureka Server。

5.1Eureka简介

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容