一、传统架构演进到分布式架构

简介:讲解单机应用和分布式应用架构演进基础知识 (画图)

高可用 LVS+keepalive

1、单体应用:开发速度慢、启动时间长、依赖庞大、等等

2、微服务:易开发、理解和维护、独立的部署和启动等等

不足:分布式系统(分布式事务问题)、需要管理多个服务(服务治理)

二、微服务基础知识简介

微服务核心知识 :网关、服务发现注册、配置中心、链路追踪、负载均衡器、熔断

1、网关:路由转发 + 过滤器

    /api/v1/pruduct/       商品服务

    /api/v1/order/           订单服务

    /api/v1/user/            用户服务

2、服务注册发现:调用和被调用方的信息维护

3、配置中心:管理配置,动态更新 application.properties

4、链路追踪:分析调用链路耗时

   例子:下单-》查询商品服务获取商品价格-》查询用户信息-》保存数据库

5、负载均衡器:分发负载

6、熔断:保护自己和被调用方

三、常见的微服务框架

简介:讲解常用的微服务框架

consumer: 调用方

provider: 被调用方

一个接口一般都会充当两个角色(不是同时充当)

1、dubbo: zookeeper + dubbo + springmvc/springboot

  官方地址:http://dubbo.apache.org/#!/?lang=zh-cn

  配套

    通信方式:rpc

    注册中心:zookeper/redis

    配置中心:diamond

2、springcloud: 全家桶+轻松嵌入第三方组件(Netflix 奈飞)

  官网:http://projects.spring.io/spring-cloud/

  配套

    通信方式:http restful

    注册中心:eruka/consul

    配置中心:config

    断路器:hystrix

    网关:zuul

    分布式追踪系统:sleuth+zipkin

四、举例:电商项目

  1、用户服务

    1)用户信息接口

    2)登录接口

  2、商品服务

    1)商品列表

    2)商品详情

  3、订单服务

    1)我的订单

    2)下单接口

SpringCloud(1) 架构演进和基础知识简介的更多相关文章

  1. 软件开发架构、网络基础知识、osi七层模型

    一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...

  2. PON系统基础知识简介

    一  PON基础知识 1.1 PON技术概念 PON(Passive Optical Network)即无源光网络,一种基于点到多点(P2MP)拓朴的技术.“无源”指ODN(光分配网络)不含有任何电子 ...

  3. Vue基础知识简介

    基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destorye ...

  4. GIS 基础知识简介

    前言 前一段时间,在公司进行了分析 GIS 基础信息的介绍.之所以会有这个介绍以及为什么是我?这个个中缘由说下. 公司不是一个GIS方面的公司,但是由于业务的需要,经常需要用到地图(要和地图打交道), ...

  5. 二、MongoDB的基础知识简介

    1.文档.集合和数据库 a).文档:因为MongoDB是面向文档的数据库,那么可想而知文档是它的基本单元,相当于关系型数据库中的行! Ⅰ.它是由键值对组成的一个有序集:注:键不能为空且是字符串类型的. ...

  6. [ios][opengles]OpenGL ES基础知识简介

    参考: http://www.cnblogs.com/shangdahao/archive/2011/11/05/2233587.html 3D变换:模型,视图,投影与Viewport: http:/ ...

  7. MySQL Cluster基础知识简介以及基本参数介绍

    PS:这些资料都是以前整理的,有些有可能是在网上copy别人的,但是时间长了,记不得出处了,sorry! 在MySQL Cluster环境的配置文件config.ini里面,每一类节点都有两个(或以上 ...

  8. BT基础知识简介

    1. 蓝牙概述   无线局域网的通信 适用范围:10米到100米(根据发射功率的class不同有所差别,典型的class2为10m,而class1为100m,class3为1m) 应用:   局域网络 ...

  9. Web的架构与html5基础知识

    图1:完整的Web应用构架 图2:html5的基本结构 head 可添加在头部标签元素有→→title meta style link base script noscript meta 几个重要属性 ...

随机推荐

  1. Kotlin基础语法学习

    Kotline简介 Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源.与Java相比,Kotlin的语法更简洁.更具表达性,而且提供了更多的特性,比如,高阶函 ...

  2. 为程序设置多语言界面——C#

    考虑到程序的国际化需求,需要为程序设置多语言界面. 1,新建一个资源文件,名字可以是对应界面+语言代码(MainForm.zh-CN).这样资源文件就会自动添加到对应界面下面. 2,更改界面属性Loc ...

  3. CentOS6.8手动安装MySQL5.6(转)

    1.安装mysql5.6依存包 2.下载编译包 wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2 ...

  4. python学习总结(一)

    1.编码格式发展历史 ASCII 255 Ibytes --> 1980 gb2312  7000+ -->1995 GBK1.0 2W+ -->2000 GB18030 2.7W+ ...

  5. 本周对于java中lamdba表达式与内部进行了学习 ,以下是我在学习就中遇到的问题

    在java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.我觉得其实就是类的嵌套,在一个类中再定义一个类,这里已成员内部类为讲,内部类可以自由地运用外部类定义的方法,但外部类想 ...

  6. c#图像处理入门(-bitmap类和图像像素值获取方法)

    c#图像处理入门 -bitmap类和图像像素值获取方法 一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义 ...

  7. MySQL--MHA与GTID

    ##==========================================## MySQL 5.6版本引入GTID来解决主从切换时BINLOG位置点难定位的问题,MHA从0.56版本开始 ...

  8. 我所理解的Android组件化之通信机制

    之前写过一篇关于Android组件化的文章,<Android组件化框架设计与实践>,之前没看过的小伙伴可以先点击阅读.那篇文章是从实战中进行总结得来,是公司的一个真实项目进行组件化架构改造 ...

  9. Apache Sentry部署

    三台hadoop集群,分别是master.slave1和slave2.下面是这三台机器的软件分布: master:NameNode.ZK.HiveMetaSotre.HiveServer2.Sentr ...

  10. Java开发微服务为什么一定要选spring cloud?

    来自:网易乐得技术团队,作者:董添 李秉谦 现如今微服务架构十分流行,而采用微服务构建系统也会带来更清晰的业务划分和可扩展性.同时,支持微服务的技术栈也是多种多样的,本系列文章主要介绍这些技术中的翘楚 ...