热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringCloud(1)架构演进和基础知识简介

一、传统架构演进到分布式架构简介:讲解单机应用和分布式应用架构演进基础知识(画图)高可用LVS+keepalive1、单体应用:开发速度慢、启动时间长、依赖庞大、等等2、微服务:易

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

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

高可用 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)下单接口


推荐阅读
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 于2012年3月份开始接触OpenStack项目,刚开始之处主要是与同事合作共同部署公司内部的云平台,使得公司内部服务器能更好的得到资源利用。在部署的过程中遇到各种从未遇到过的问题 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • MongoDB用户验证auth的权限设置及角色说明
    本文介绍了MongoDB用户验证auth的权限设置,包括readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase、cluster相关的权限以及root权限等角色的说明和使用方法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
    一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统&# ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • Nginxgaodaima.comnginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司 ... [详细]
  • 微服务应用性能分析实战15 数据磐石:APM 收集端的存储模型
    分布式监控的重要设计就是数据存储模型,而SkyWalking的分布式追踪数据模型就是一个经典代表,这也是它会在APM领域脱颖而出的原因。所以今天我就以 ... [详细]
  • 高可用架构_MySQL高可用架构设计
    文章来自于https:www.jianshu.compd3107bda2963PHP进阶学习交流QQ群:983229225Mysql复制功能介绍Mysql的复制功能提 ... [详细]
author-avatar
爱爱爱爱你MLB-你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有