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 ...
随机推荐
- sort_contours_xld算子的几种排序方式研究
算子sort_contours_xld算子有5种排序方式,即: 'upper_left': The position is determined by the upper left corner of ...
- [IIS] 测试的产品登陆之后有个引用外部站点js的请求半天都无法返回,导致网页一直在打转,Selenium的driver也无法对页面进行下一步的操作
测试的产品登陆之后有个引用外部站点js的请求半天都无法返回: https://cdn.heapanalytics.com/js/heap-3497400264.js 这个js如果是在美国的机器上就可以 ...
- oracle存储过程和游标参考
oracle open cursor forhttp://www.itpub.net/thread-1874683-1-1.html
- DataStage 六、安装和部署集群环境
DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 DataStage 三.配置ODBC Da ...
- GNOME桌面的安装
首先搭建yum仓库 http://www.cnblogs.com/jw35/p/5967677.html yum grouplist #列出yum仓库里的软件组 ...
- [react002] component基本用法
1 什么是component 设计接口的时候,把通用的设计元素(按钮,表单框,布局组件等)拆成接口良好定义的可复用的组件. 这样,下次开发相同界面程序时就可以写更少的代码,也意义着更高的开发效率,更少 ...
- [Erlang25]Erlang in anger 翻译
Erlang in anger Erlang in anger 是写Learn some Erlang的帅小伙(照片真是帅死啦)写的,一共87页,可以随意下载(英文原版):http://www ...
- Hadoop 集群配置记录小结
Hadoop集群配置往往按照网上教程就可以"配置成功",但是你自己在操作的时候会有很多奇奇怪怪的问题出现, 我在这里整理了一下常见的问题与处理方法: 1.配置/etc/hosts ...
- jenkins Build Flow job 输入参数获取和传递
jenkins Build Flow job 输入参数获取和传递 如果设置Build Flow的job,怎样获取手工输入的参数. 1. 指定构建参数 job配置中,勾选"参数化构建" ...
- xml写入
XmlDocument xmlDocument=new XmlDocument(); XmlElement root = xmlDocument.CreateElement("", ...