版本号

在Maven中如何恰当的管理版本

戏子无情 提交于 2019-11-26 17:01:43
目前在JAVA的世界中,maven已经成为事实上的构建标准,很多开源库的管理构建也是基于maven的,maven本身的学习曲线比较陡峭,遵循“约定优于配置”的理念,maven存在很多约定。本次我先描述下,关于版本的定义的选择,SNAPSHOT or RELEASE? 版本之争 在maven的约定中,依赖的版本分为两类——SNAPSHOT和RELEASE。SNAPSHOT依赖泛指以-SNAPSHOT为结尾的版本号,例如1.0.1-SNAPSHOT。除此之外,所有非-SNAPSHOT结尾的版本号则都被认定为RELEASE版本,即正式版,虽然会有beta、rc之类说法,但是这些只是软件工程角度的测试版,对于maven而言,这些都是RELEASE版本。既然Maven提供了这两类版本号,那么他们之前的优劣势是什么?分别在什么场景下使用? 解读SNAPSHOT 同一个SNAPSHOT版本的依赖可以多次发布(deploy)到仓库中,也就是说同一个SNAPSHOT版本的依赖可以在仓库中存在多份,每一份都是代码在某一个特定时间的快照,这也是SNAPSHOT的含义。 如上图,很好地表达了SNAPSHOT的细节,也阐述了一个SNAPSHOT很重要观点——SNAPSHOT不是一个特定的版本,而是一系列的版本的集合,其中HEAD总是指向最新的快照,对外界可见的一般也是最新版,这种给人的假象是新的覆盖了老的

SpringCloud入门

好久不见. 提交于 2019-11-26 16:50:34
一、 什么是 SpringCloud 什么是 SpringCloud:是一个服务治理平台,提供了一些服务框架。包含了:服务注册与发现、配置中心、消息中心 、负载均衡、数据监控等等。 1 概念定义 Spring Cloud 是一个微服务框架,相比 Dubbo 等 RPC 框架, Spring Cloud 提供的全套的分布式系统解决方案。 Spring Cloud 对微服务基础框架 Netflix 的多个开源组件进行了封装,同时又实现了和云端平台以及和 Spring Boot 开发框架的集成。 Spring Cloud 为微服务架构开发涉及的配置管理,服务治理,熔断机制,智能路由,微代理,控制总线,一次性 token,全局一致性锁,leader 选举,分布式 session,集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud 为开发者提供了快速构建分布式系统的工具,开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。 2 Spring Cloud 的项目的位置 Sping Cloud 是 Spring 的一个顶级项目与 Spring Boot、Spring Data 位于同一位置。 3 Spring Cloud 的子项目 Spring Cloud 包含了很多子项目,如: 3.1 Spring Cloud Config:配置管理工具,支持使用 Git

LNMP一键安装包 自动无缝升级Nginx至任意版本

人盡茶涼 提交于 2019-11-26 16:25:53
前几天 发布了LNMP一键安装包0.6 ,有一些lnmp用户一直在要求增加升级功能,今天发布的脚本就是专门用来 升级Nginx ,可以升级Nginx至任意官方已发布的Nginx版本。 执行: wget soft.vpser.net/lnmp/upgrade_nginx.sh;sh upgrade_nginx.sh 然后按提示输入要升级的Nginx版本号,Nginx的版本号可以从 http://nginx.org/en/download.html 查询。输入版本号后回车,再次回车确认即可开始安装,如果不出意外就会升级成功,如果出现问题可以到 http://bbs.vpser.net lnmp专区 发帖求助。 来源: oschina 链接: https://my.oschina.net/u/216139/blog/52321

Redis哨兵机制(sentinel)

亡梦爱人 提交于 2019-11-26 13:54:03
1、简介: 1、是什么: Redis-Sentinel是Redis官方推荐的高可用(HA)方案,当用Reids 做master-slave高可用方案时,假如master宕机了,redis本身(包括它的很多客服端)都没有实现自动的主备切换,而Redis-Sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能自动切换。 2、功能 不时监控redis是否按照预期的良好的运行。 如果发现某个redis节点运行出现状况,能够通知别外一个进程(如它的客户端)。 能够进行自动切换。当一个master节点不可用时,能够选举出master的多个slave(如果超过一个slave的话)中的一个来作为新的master,其它的slave节点会将他的master地址改为新提升为master的服务器的地址。 4、优缺点: 优点: 哨兵模式是基于主从模式的,所有主从的优点,哨兵模式都有。 主从可以自动切换,系统更健壮,可用性更高 缺点: redis较难支持在线扩容,在集群容量达上限时在线扩容变的很复杂。 2、原理: 1、哨兵的工作方式: 每个Sentinel(哨兵)进程以每秒钟一次的频率向整个redis集群中的master主服务器、slave从服务器以及其他的Sentinel(哨兵)进程发送一个ping命令。

数据库中的乐观锁与悲观锁

限于喜欢 提交于 2019-11-26 12:06:11
悲观锁 当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。 这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)。 之所以叫做悲观锁,是因为这是一种对数据的修改抱有悲观态度的并发控制方式。我们一般认为数据被并发修改的概率比较大,所以需要在修改之前先加锁。 悲观并发控制实际上是 “先取锁再访问”的保守策略 , 为数据处理的安全提供了保证 。  但是在效率方面,处理加锁的机制会 让数据库产生额外的开销 ,还有增加 产生死锁 的机会; 另外,还会 降低并行性 ,一个事务如果锁定了某行数据,其他事务就必须等待该事务处理完才可以处理那行数据。 乐观锁 乐观锁( Optimistic Locking ) 是相对悲观锁而言的,乐观锁假设数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。 相对于悲观锁,在对数据库进行处理的时候,乐观锁并不会使用数据库提供的锁机制。一般的实现乐观锁的方式就是记录数据版本。 乐观并发控制相信事务之间的数据竞争(data race)的概率是比较小的,因此 尽可能直接做下去

docker镜像构建、镜像打tag、镜像推送

和自甴很熟 提交于 2019-11-26 06:19:51
docker镜像构建、镜像打tag、镜像推送 镜像构建:将本地镜像打包 docker buile -t isoName:tag -f /Dockerfile isoName:镜像名称 tag :版本号 Dockerfile:dockerfile文件 镜像打tag:镜像添加版本号 docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/nginx_wy/nginx_wy:[镜像版本号] ImageId:镜像ID registry.cn-hangzhou.aliyuncs.com/nginx_wy/nginx_wy:远程仓库域名及名称 镜像推送:镜像推送到远程仓库 docker push registry.cn-hangzhou.aliyuncs.com/nginx_wy/nginx_wy:[镜像版本号] 来源: CSDN 作者: future-wy 链接: https://blog.csdn.net/qq_32653205/article/details/89637272