springcloud应用思考
1 springcloud注册中心eureka和zookeeper注册中心的区别:
eureka注册中心,在服务选主的时候服务还是可以用的,zookeeper注册中心在选举的时候整个服务瘫痪了,是不可以用的,虽然eureka版本不更新了,
但是老版本的功能适用,满足需求,所以我们还是使用eureka注册中心
2 项目中使用的定时任务采用的是什么
采用的是开源项目徐学礼开发的xxl-job,springtask在传统的项目中是可以使用的,但是在分布式环境中,会存在多个执行的情况,虽然可以使用redis
分布锁实现或者zookeeper分布式锁实现,谁拿到锁就执行,但是那是重复造轮子,所以我们寻找了开源项目xxl-job,他的实现思路跟锁的实现是一样的
3 分布式锁的实现原理
redis跟zookeeper的分布式锁实现原理是一样的,redis是创建key,如果key存在代表存在,就不创建,代表有人拿到锁了,如果key不存在就重新创建,
zookeeeper是创建节点node来实现的
4 hystrix熔断机制
分为两种,一种是线程池熔断,一种是信号量熔断,项目中采用的是线程池熔断,降级,hystrixcommod这个是返回一个结果的,hystrixObservecommod返回多个
结果的,在项目中调用时候,写一个调用服务的实现类,配置下就可以,就可以使用了,同时配置同一接口的访问量,重试时间
5 网关zuul和gateway的区别
zuul采用的是bio,gateway采用的是netty,性能,后者较好,如果写的是前者,就说项目还没有升级,网关其实就相当于门面模式,当我们进入时候,
看到的只是门面,但是根据我们的需要会转发到不同的服务
6 服务注册的安全性,
采用springsecurity进行保护安全的,不是所有人都可以的注册
7 用户信息模块登录信息的维护,采用的jwt
8 feign调用注意事项,必须要加上参数,即使参数名跟参数一样,也是必须要加上,是由于底层实现时候,需要根据这个动态实现,否则无法知道
参数的传递方式
9 接口的安全性,才可以springscurity进行的,
10 ribbon负载均衡:
他跟nginx负载均衡不同.nginx负载均衡是借助外部进行负载均衡,ribbon采用的是代码上的负载均衡,负载均衡常用的策略用,权重,url hash,ip hash,轮询,默认采用的
是轮询
11 hash算法,
取得值的hash进行特定的分发,假设你设定对3 取余,那么 就会根据余数进行分配,例如 redis 采用的是hash solt算法 ,除以16384,也就是将redis集群分为16384个槽,再进行分配
springcloud应用思考的更多相关文章
- springcloud微服务架构的思考
在网上找到一张关于微服务体系架构的图 应用组件: 首先对于整个程序的入口应该是网关,zuul部分 这个组件在springcloud中的gateway服务之后,zuul可以进行网关分配,根据想应的路劲进 ...
- SpringCloud(7)---网关概念、Zuul项目搭建
SpringCloud(7)---网关概念.Zuul项目搭建 一.网关概念 1.什么是路由网关 网关是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求.鉴权.监控. ...
- 以实例说明微服务拆分(以SpringCloud+Gradle)
前言 之前,我都是说了很多的关于微服务的概念,说到底,很多人看了之后会认为没有什么意思,因为没有实际的东西说明,即使每个概念都明白了,也很难赋之实践.所以这次,我来用一个实际的例子去说明,在实际的项目 ...
- springcloud学习第一坑
我是根据周立先生所写的<Spring+Cloud与Docker微服务架构实战>来学习SpringCloud的,我会记录下来我日常遇到的所有问题,包括但不仅只包括SpringCloud的问题 ...
- SpringCloud系列九:SpringCloudConfig 基础配置(SpringCloudConfig 的基本概念、配置 SpringCloudConfig 服务端、抓取配置文件信息、客户端使用 SpringCloudConfig 进行配置、单仓库目录匹配、应用仓库自动选择、仓库匹配模式)
1.概念:SpringCloudConfig 基础配置 2.具体内容 通过名词就可以发现,SpringCloudConfig 核心作用一定就在于进行配置文件的管理上.也就是说为了更好的进行所有微服务的 ...
- 深入理解SpringCloud与微服务构建学习总结
说明:用时 from 2018-11-16 to 2018-11-23 七天 0 放在前面 什么是微服务? 微服务是一个分布式系统.微服务架构的风格,就是将单一程序开发成一个微服务,每个微服务 ...
- SpringCloud 简单理解
0.SpringCloud,微服务架构.包括 服务发现(Eureka),断路器(Hystrix),服务网关(Zuul),客户端负载均衡(Ribbon).服务跟踪(Sleuth).消息总线(Bus).消 ...
- 一个神秘现象引发对beego框架的思考
小强最近在项目中遇到了一个很奇怪的问题:在整改日志规范时,为了避免影响现有的代码结构以及改动尽可能小的前提下,在调用记日志的SDK处将某一个字段值首字母改为大写,代码示例如下: fmt.Println ...
- Dubbo 在 K8s 下的思考
作者 | 曹胜利 Apache Dubbo PMC 导读:Dubbo 作为高性能 Java RPC 框架的刻板印象早已深入人心,在 Cloud Native 的架构选型上,Spring Cloud ...
随机推荐
- linux git server 简易搭建 (ssh访问)
git的服务器搭建,如果无需权限控制,仅团队内部使用,初始化一个服务器仓库,其他人通过ssh访问这个文件夹即可.如需复杂的管理,建议使用gitlab. yum install git -y id gi ...
- 常见的C语言内存错误及对策(转)
http://see.xidian.edu.cn/cpp/html/483.html 一.指针没有指向一块合法的内存 定义了指针变量,但是没有为指针分配内存,即指针没有指向一块合法的内存.浅显的例子就 ...
- 16 Finding a Protein Motif
Problem To allow for the presence of its varying forms, a protein motif is represented by a shorthan ...
- Zookeeper基本使用(转)
一.Zookeeper架构 云计算越来越流行的今天,单一机器处理能力已经不能满足我们的需求,不得不采用大量的服务集群.服务集群对外提供服务的过程中,有很多的配置需要随时更新,服务间需要协调工作,这些信 ...
- 自定义animate()引起的动画叠加
当用户快速在某个元素多次执行动画时,会造成动画累积的现象.这时,就需要引入动画状态这个概念.判断元素是否处于动画状态中,如果处于,则不添加新动画 常常用于在设置动画之前未清除动画,造成的动画叠加.解决 ...
- 变分贝叶斯VBEM 由浅入深
变分贝叶斯EM指的是变分贝叶斯期望最大化(VBEM, variational Bayes expectation maximization),这种算法基于变分推理,通过迭代寻找最小化KL(Kullba ...
- EM 最大似然概率估计
转载请注明出处 Leavingseason http://www.cnblogs.com/sylvanas2012/p/5053798.html EM框架是一种求解最大似然概率估计的方法.往往用在存在 ...
- PHP(六)PHP和HTML混合的一种形式
- IE(IE6/IE7/IE8)支持HTML5标签
让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...
- 終于解決调用wordpress 4.3 xmlrpc api 发布包含分类的文章时返回“抱歉,文章类型不支持您的分类法”错误的問題
這個問題我找了很多資料都沒有明說是如何解決,后來突發奇想得出我的解決方案如下,所以特此記錄一下: object postId = blogService.NewPost(0,"admin&q ...