2 不会代码的猿

尚未进行身份认证

暂无相关简介

等级
TA的排名 2w+

redis——(23) 哨兵的多个核心底层原理的深入解析(包含slave选举算法)

一、sdown和odown转换机制sdown和odown两种失败状态sdown是主观宕机,就一个哨兵如果自己觉得一个master宕机了,那么就是主观宕机odown是客观宕机,如果quorum数量的哨兵都觉得一个master宕机了,那么就是客观宕机sdown达成的条件很简单,如果一个哨兵ping一个master,超过了is-master-down-after-milliseconds指定的毫...

2020-04-01 23:41:52

redis哨兵——(22)主备切换的数据丢失问题:异步复制、集群脑裂

问题两种数据丢失的情况解决异步复制和脑裂导致的数据丢失一、两种数据丢失的情况主备切换的过程,可能会导致数据丢失异步复制导致的数据丢失因为master -> slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机了,此时这些部分数据就丢失了在旧的master node那里内存里的那些数据,还没来得及给slave node 就挂掉了 。slav...

2020-04-01 18:47:23

redis——(21)哨兵介绍

一、 哨兵的介绍sentinal,中文名是哨兵哨兵是redis集群架构中非常重要的一个组件,主要功能如下集群监控,负责监控redis master和slave进程是否正常工作消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员故障转移,如果master node挂掉了,会自动转移到slave node上配置中心,如果故障转移发生了,通知client客户端新...

2020-04-01 17:36:40

浅谈Java中的equals和==

本文转载作者:Matrix海子出处:点击此处访问原文地址在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String("hello");2 String str2 = new String("hello");3 4 System.out.println(str1==str2);5 System.out.println(str1...

2020-03-19 15:17:18

Swagger UI简介

Swagger UI 简介Swagger UI允许任何人(无论您是开发团队还是最终用户)都可以可视化API资源并与之交互,而无需任何实现逻辑。它是根据您的OpenAPI(以前称为Swagger)规范自动生成的,具有可视化文档,可简化后端实现和客户端使用。SwaggerUI 特点无依赖 UI可以在任何开发环境中使用,无论是本地还是在Web端中。人性化 允许最终...

2020-03-02 20:50:05

什么是幂等性

HTTP 幂等方法,是指无论调用多少次都不会有不同结果的 HTTP 方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。GET /tickets # 获取ticket列表GET /tickets/12 # 查看某个具体的ticketPOST /tickets # 新建一个ticketPUT /tickets/12 ...

2020-03-01 00:04:17

RestFul风格的API设计

简介2000 年,Roy Thomas Fielding 博士在他那篇著名的博士论文《Architectural Styles and the Design of Network-based Software Architectures》中提出了几种软件应用的架构风格,REST 作为其中的一种架构风格在这篇论文的第5章中进行了概括性的介绍。REST 是“REpresentational St...

2020-02-29 21:40:35

Jackson

Jackson简介Jackson是一个简单基于Java应用库,Jackson可以简单的将Java对象转换成Json对象和xml文档,同样也可以将Json、xml转换成Java对象的。Jackson所依赖的Jar包比较少,简单易用,并且性能也相对要高一些,并且Jackson的社区活跃,更新速度也比较快。Jackson的特点容易使用 -Jackson的API提供了一个高层次外观,以简化常用用例...

2020-02-29 13:57:34

HttpClient 解决通讯问题

为什么会存在通讯问题在单体应用程序开发中,常把前端模块、后台模块、系统管理模块、数据库等统一部署在一个服务器上。先说一下这样部署的缺点:多个服务部署在一台服务器上系统承载压力过大,容易造成宕机。数据后台数据管理不安全,通过IP地址,后台管理页面容器被非管理人员打开。项目更新时,部署需要将所有服务停止,造成业务上的损失。所以越来越多的服务,开始往分布式系统转变。一台服务器,部署一个服务...

2020-02-26 11:50:39

Log4 日志框架

概述一个完整的软件,日志是必不可少的。程序从开发、测试、维护、运行等环节,都需要向控制台或文件等位置输出大量信息。这些信息的输出,很多时候是使用 System.out.println( ) 无法完成的。日志信息根据用途与记录内容的不同,分为 调试日志、运行日志、异常日志 等。Log4j 的全称为 Log for java,即专门用于 Java 语言的日志记录工具。...

2020-02-24 15:10:11

Junit断言

什么是断言断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。使用断言可以创建更稳定、品质更好且 不易于出错的代码。当需要在一个值为 false 时中断当前操作的话,可以使用断言。单元测试必须使用断言(Junit/Juni...

2020-02-23 22:34:37

Junit常用注解

Junit注解注解描述@Test public void method( )测试注释指示该公共无效方法它所附着可以作为一个测试用例。@Before publci void method( )Before 注释表示,该方法必须在类中的每个测试之前执行,以便执行测试某些必要的先决条件。@BeforeClass publci static void meth...

2020-02-23 22:22:30

Junit简介与入门

概述JUnit 是用于编写和运行可重复的自动化测试的开源测试框架,这样可以保证我们的代码按预期工作。JUnit 可广泛用于工业和作为支架(从命令行)或IDE(如 IDEA)内单独的 Java 程序。Junit提供断言测试预期结果。测试功能共享通用的测试数据。测试套件轻松地组织和运行测试。图形和文本测试运行。Junit 用于测试整个对象 对象的一部分交互的方法或一些方法几个...

2020-02-23 22:03:19

TDD开发模式与DDD开发模式

TDD 概述Test-Driver-Development (测试驱动开发) 是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。TDD的基本思路就是通过测试来推动整个开发的进行...

2020-02-23 21:32:19

常见的测试方式

一、概述测试和开发一样,是一门完整的学科,包涵了很多测试语言、方法、流程,所以大公司为了追求对产品的紧致,一般都有专门的测试工程师。二、测试分类单元测试黑盒测试 无源码展示进行产品功能测试白盒测试 能够看到源码并进行产品功能测试灰盒测试 介于白盒测试与黑盒测试之间,注重程序运行的逻辑流程压力测试测试同一时间下,并发的压力数量大小疲劳强度测试在正常的运行环境下,长时间运行程序...

2020-02-23 12:44:16

Git——GitFlow工作流演示

目录一、建立中央仓库二、新建分支三、开发功能四、发布Release五、发布正式版本六、修复正式版bug七、发布BUG修复后的正式版 八、删除分支一、建立中央仓库首先创建中央仓库,常见的中央仓库有Github、GitLab、国内的码云等等。创建完成以后克隆到本地。我这里沿用一个旧的仓库演示:二、新建分支1、首先创建d...

2020-02-19 16:37:14

XShell 传输文件至Linux 状态显示错误

在利用远程工具传输文件时,有时遇到状态错误解决方案:远程登录虚拟机时使用root用户登录。

2020-02-16 20:45:19

解决XShell无法连接Ubuntu中的root用户

一、测试用户1、其他注册用户正常连接2、root用户无法连接二、解决方案1、修改/etc/ssh/下的 sshd_config文件vi /etc/ssh/sshd_config2、将文件中PermitRootLogin prohibit-password 前面加上"#" 注释下一行添加PermitRootLogin yes然后保...

2020-02-16 20:40:05

DockerRegistry——(三) Docker Registry WebUI

一、介绍Registry服务端安装成功后就可以使用 docker 命令行工具对 registry 做各种操作了。然而不太方便的地方是不能直观的查看 registry 中的资源情况。如果可以使用 UI 工具管理镜像就更好了。这里介绍两个 Docker Registry WebUI 工具1、docker-registry-frontend2、docker-registry-web...

2020-02-16 12:38:25

DockerRegistry——(二) 配置 Docker Registry 客户端

一、概述我们的教学案例使用的是 Ubuntu Server 16.04 LTS 版本,属于systemd系统,需要在/etc/docker/daemon.json中增加如下内容(如果文件不存在请新建该文件)为了 符合“一个服务一台服务器”的分布式思想,我选择再开一台Dokcer虚拟机{ "registry-mirrors": [ "https://regis...

2020-02-15 17:27:58

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。