Stella981 Stella981
4年前
Raft 算法在分布式存储系统 Curve 中的实践
作为网易数帆开源的高性能、高可用、高可靠的新一代分布式存储系统,Curve对于多副本数据同步、负载均衡、容灾恢复方面都有较高的要求。网易数帆存储团队选用Raft算法作为Curve底层一致性协议,并基于Raft的特性,实现了异常情况下的数据迁移和自动恢复。本文首先简要介绍一下Raft算法的一些基本概念和术语,再详细介绍其在Curve中的实践。Raft一致性
Stella981 Stella981
4年前
Spring Boot 接口幂等插件使用
幂等概述幂等性原本是数学上的概念,即使公式:f(x)f(f(x))能够成立的数学性质。用在编程领域,则意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的。幂等性是分布式系统设计中十分重要的概念,具有这一性质的接口在设计时总是秉持这样的一种理念:调用接口发生异常并且重复尝试时,总
Stella981 Stella981
4年前
Hystrix Feign 特定状态码不熔断
HystrixFeign特定状态码不熔断背景部分业务校验规范或疏忽场景,传入badrequest导致接口熔断,影响接口正常流量处理重写Feignerrordecoder逻辑importcom.netflix.hystrix.exception.HystrixB
Stella981 Stella981
4年前
RabbitMQ之消息确认机制(事务+Confirm)
概述在使用RabbitMQ的时候,我们可以通过消息持久化操作来解决因为服务器的异常奔溃导致的消息丢失,除此之外我们还会遇到一个问题,当消息的发布者在将消息发送出去之后,消息到底有没有正确到达broker代理服务器呢?如果不进行特殊配置的话,默认情况下发布操作是不会返回任何信息给生产者的,也就是默认情况下我们的生产者是不知道消息有没有
Wesley13 Wesley13
4年前
MDK编译优化笔记
在一次使用MDk的编译优化等级比较高的时候发现编译不优化时功能正常,开了优化等级02就出现异常,调试中看了很多博客总结一下。一个变量,如果你的主程序要用到,同时中断还要用到,要加volatile修饰。告诉编译器这个变量是可能随时发生变化的,使得编译器编译程序的时候,每次都从RAM里面读取数据,而不是使用之前缓存到寄存器里面的值。对于多任
Wesley13 Wesley13
4年前
Asp.Net Forms认证在移动平台中遇到的一个问题以及调查过程
我们项目的网站的移动版是基于Asp.Net平台开发的,用户登录也是基于Asp.Net的Forms认证,在整个开发和测试过程中没有发现任何客户登录异常,但是发布后断断续续有用户反映在登录页面登录成功后跳转主页后,主页并没有识别登录用户,也即是Form认证失败。Asp.Net的Form认证大家应该有所了解,其内部的机制就是把用户数据加密后保存在一个基于cook
Stella981 Stella981
4年前
Django学习之路
基础web框架的实现1.纯手撸web框架。  1、手动书写socket代码  2、手动处理http数据socket套接字importsocketserversocket.socket()server.bind(('127.0.0.1',8080))serv
Stella981 Stella981
4年前
PXE:kickstart配置文件:全自动安装centos、redhat 系统的配置
defaultmenu.c32多网卡,其实centos7会自动处理,默认使用第一个网卡labelcentos76menulabel???centos76fromftptimeout1000kernelcentos76/isolinux/vmlinuzappend
Stella981 Stella981
4年前
SpringBoot(20)
  我们在写单元测试的时候,除了接口直接抛异常而导致该单元测试失败外,还有种是业务上的错误也代表着该单元测试失败。好比我们在测试接口的时候,  该接口返回是1代表成功,如果是0那就代表是失败的,这个时候可以考虑使用断言。  一、原理我们知道,我们可以通过断言来校验测试用例的返回值和实际期望值进行比较,以此来判断测试是否通过。那我们先来看下如果失败的情
Wesley13 Wesley13
4年前
.NET陷阱之五:奇怪的OutOfMemoryException——大对象堆引起的问题与对策
我们在开发过程中曾经遇到过一个奇怪的问题:当软件加载了很多比较大规模的数据后,会偶尔出现OutOfMemoryException异常,但通过内存检查工具却发现还有很多可用内存。于是我们怀疑是可用内存总量充足,但却没有足够的连续内存了——也就是说存在很多未分配的内存空隙。但不是说.NET运行时的垃圾收集器会压缩使用中的内存,从而使已经释放的内存空隙连成一片吗?