在学习SpringCloud之前,我以为SpringCloud是与Double一样,只是个单纯的RPC框架。但在今天的学习中,我发现并非如此,事实上,SpringCloud是多个框架的集合,感觉Spring一家子都这样,做的更多的是集众人之长,它自己则更像是一个容器,只是为我们提供了很多默认配置和调用模板,让我们使用起来更方便,它支持的功能大概有配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。所以,SpringCloud的定位已经很清晰了,它就是一个能让你快速构建分布式系统的框架;当然,有一点要注意,SpringCloud是基于Springboot的。
  https://springcloud.cc/ 这是SpringCloud的中文网站,里面可以看到它现阶段能集成的框架。不过有一点要注意的是,在服务注册中心上,SpringCloud虽然也支持Zookeeper,但Eureka更好用,网上的教程也都大都基于Eureka。
首先介绍下Eureka吧,一个服务注册与发现框架,不要以为它与Zookeeper一样,两者功能是不同的,要知道Zookeeper本身只具有存储数据与监听节点功能,所有其它功能都是我们使用代码基于这两个功能之上进行扩展的,它本身是没有像什么服务注册发现,分布式锁,分布式事务,统一管理配置这些功能的;但Eureka则是为了服务注册与发现而生的,这就是它本身自带的功能,同时值得一提的是,它是个Servlet应用,这一点可以自己观看源码(过两天如果有时间的话我会解析源码然后写一下)。同时,Eureka也提供了心跳机制(默认30S),健康检查(和心跳机制不是一个功能,意思是多久没收到心跳我就认定你不健康了,就剔除你这个服务提供者,这个时间间隔可以大于设定的心跳的时间,也就是说,可以在多次收不到心跳后再剔除(默认90S)),客户端缓存

(和Dobbu一样,它也具有消费方缓存服务提供方信息的机制,刷新时间默认是30s,可以自己配置)。而且有一点要注意的是,SpringCloud是通过rest形式来进行服务调用的.所以,我们在命名服务提供方的application name时一定要注意点,这个可不是RPC框架的直接调方法,我们一般使用rest形式调用时都是application name加上context path再加上具体的服务路径进行调用的;

最后,Eureka的集群搭建十分简单,比如在配置文件中写上对方的URL即可,在服务启动时,会互相将自己节点中保存的元数据信息(也就是服务生产方的信息)复制一份到对方的节点中,这样不管哪个节点挂掉都没事。这个和ElasticSearch的主分片,副本分片的机制倒是有异曲同工之妙;

2018/2/17 SpringCloud的一个简单小介绍的更多相关文章

  1. 关于Hibernate的一个简单小程序

    本人根据视频学习了一下三大框架中比较简单的一个Hibernate,并简单完成了一个运用Hibernate的小程序 Hibernate是一个简化web程序Dao层的一个框架,应用他,可以完全脱离sql语 ...

  2. 关于ExpandableListView用法的一个简单小例子

    喜欢显示好友QQ那样的列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到an ...

  3. Paxos算法的一个简单小故事

    一.Paxos是什么? Paxos,它是一个基于消息传递的一致性算法,Leslie Lamport在1990年提出,近几年被广泛应用于分布式计算中,Google的Chubby,Apache的Zooke ...

  4. 一个简单小技巧实现手机访问.html文件网页效果

    注册登录Github不解释 settings设置往下拉 选择一个主题上传代码文件到code 打开这个文件选择此时的网址 在网址前面加上 这段代码 http://htmlpreview.github.i ...

  5. scrapy的一个简单小项目

    使用scrapy抓取目标url下所有的课程名和价格,并将数据保存为json格式url=http://www.tanzhouedu.com/mall/course/initAllCourse 观察网页并 ...

  6. 使用 Suricata 进行入侵监控(一个简单小例子访问百度)

    前期博客 基于CentOS6.5下Suricata(一款高性能的网络IDS.IPS和网络安全监控引擎)的搭建(图文详解)(博主推荐) 1.自己编写一条规则,规则书写参考snort规则(suricata ...

  7. python+requests----登录接口reponse中token传递给其他接口使用的一个简单小示例介绍

    #!/usr/bin/env python # coding=UTF-8 import requests def login(): url = "https://xxxx.xxx.xxx/v ...

  8. 一个简单用原生js实现的小游戏----FlappyBird

    这是一个特别简单的用原生js实现的一个小鸟游戏,比较简单,适合新手练习 这是html结构 <!DOCTYPE html><html lang="en">&l ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(十四)——开发环境容器调试小技巧

    之前有很多同学提到如何做容器调试,特别是k8s环境下的容器调试,今天就讲讲我是如何调试的.大家都知道在vs自带的创建项目模板里勾选docker即可通过F5启动docker容器调试.但是对于启动在k8s ...

随机推荐

  1. 449 Serialize and Deserialize BST 序列化和反序列化二叉搜索树

    详见:https://leetcode.com/problems/serialize-and-deserialize-bst/description/ C++: /** * Definition fo ...

  2. laravel5.5文件上传

    /**     * 上传文件     * @param Request $request     * @return array     */    public function upload(Re ...

  3. AngularJS入门 & 分页 & CRUD示例

    一.AngularJS 简介 ​ AngularJS  诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中. ...

  4. hihocoder offer收割编程练习赛11 A hiho字符串

    思路: 我用的尺取. 注意题目描述为恰好2个'h',1个'i',1个'o'. 实现: #include <iostream> #include <cstdio> #includ ...

  5. 我用 Python 爬了智联“北上广深”5400条 Java 招聘数据

    结论 国际惯例,先上结论. Java 类职位招聘,不论是需求量(工作机会),还是工资平均水平,都是帝都北京最好. 北京和上海的平均工资差距不大(不超过200/月),但上海的需求量是北京的一半,机会更少 ...

  6. ESSENTIALS OF PROGRAMMING LANGUAGES (THIRD EDITION) :编程语言的本质 —— (一)

    # Foreword> # 序 This book brings you face-to-face with the most fundamental idea in computer prog ...

  7. XCode的debug断点调试

    debug 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行. 调试条上会出现四个你可以用来控制程序的执行流程的按钮. 从左到右 ...

  8. 新萝卜家园Ghost版Win10系统X32极速装机版2015年4月

    来自:系统妈,系统下载地址:http://www.xitongma.com/windows10/2015-03-30/6638.html 新萝卜家园Ghost Win10 X32 10041电脑城极速 ...

  9. swift 多态函数方式

    1.v-table:   class 2.WitnessTable protocol 3.消息派发. @objc dynamic

  10. day25-1 网络架构与互联网组成

    目录 网络架构 单机架构 CS架构 数据放在服务端和客户端的利与弊 BS架构 互联网和互联网的组成 互联网的硬件组成 互联网的软件组成 网络架构 单机架构 应用领域: 单机游戏 CS架构 基于网络,应 ...