捉虫大师 捉虫大师
2年前
服务探活的五种方式
几个月前,我在这篇文章中给自己挖了个坑:文中提到的实际问题就是服务探活,今天来填上这个坑。在微服务架构下,服务提供方(Provider)的节点一般不止一个,消费方(Consumer)根据负载均衡算法挑选一个健康的节点进行调用。识别Provider节点是否健康,这便是服务探活要讨论的内容。健康的节点可定义为能正常响应Consumer请求的节点,不健康自然是不
Easter79 Easter79
3年前
springboot2结合mybatis拦截器实现主键自动生成
前言前阵子和朋友聊天,他说他们项目有个需求,要实现主键自动生成,不想每次新增的时候,都手动设置主键。于是我就问他,那你们数据库表设置主键自动递增不就得了。他的回答是他们项目目前的id都是采用雪花算法来生成,因此为了项目稳定性,不会切换id的生成方式。朋友问我有没有什么实现思路,他们公司的orm框架是mybatis,我就建议他说,不然让你老大把m
一起跳舞吧 一起跳舞吧
3年前
node.js操作Cookie
通过node.js建立了一个完整的网站不是一件容易的事,这涉及读取页面模板,从数据库中抽出数据构建成新的页面返回给客户端。但光是这样还不行,我们还要设置首部,在chrome中如果CSS没有设置正确的ContentType,会不起作用的。此处理还要考虑访问量,要设置缓存,缓存不单单是把东西从内存中读入读出就行,这样会撑爆电脑内存的,这用LRU算法(最近最少用
DaLongggggg DaLongggggg
3年前
python百题大冲关-确定字符串是否是另一个的排列
挑战介绍实现一个算法来识别一个字符串str2是否是另一个字符串str1的排列。排列的解释如下:如果将str1的字符拆分开,重新排列后再拼接起来,能够得到str2,那么就说字符串str2是字符串str1的排列。本次挑战中,你需要在permutation.py文件中补充函数is_permutation的空缺部分
风斗 风斗
3年前
2021 春招通关 BAT 最新 Android 常用面试真题
前言金三银四招聘旺季已经开启,如果有面试准备的,临阵磨枪,不快也光。如果没面试想法的,也可以看看这些问题以及它们的解析,对提升技术也是很有帮助的。内容涵盖五大部分:Java基础部分、Android部分、数据结构与算法部分、常用的开源库部分、计算机网络认识部分。Java基础部分内容主要包括操作系统相关、JDK&JVM&JRE、面向
Wesley13 Wesley13
3年前
JAVA_RSA_的加解密
RSA为非对称加密算法。数字签名的过程:1、对明文数据进行HASH加密,不可逆;2、对加密后的数据再用RSA的私钥进行二次加密。数字签名的验证过程:1、对明文数据进行HASH加密,不可逆;2、用RSA的公钥对数字签名后的数据进行解密;3、把1的结果和2的结果进行比较是否相等。RSA加密的过程和解密的过程都需要三步:加/解密、分组、填充。这三部分每
Stella981 Stella981
3年前
Guetzli:谷歌家的东西可能也没有想像的辣么美
望昕宇,腾讯后台工程师,专注图片压缩及存储系统一百年不动摇,并致力于做一名相关前沿技术的人话翻译家。这两天笔者的朋友圈被Google开源JPEG编码器Guetzli刷屏,“图片大小减小35%”、“质量不变”这样的字眼刺激了我们的肾上腺,OMG的yajunwang同学也为我们带来了第一手的测试资料——谷歌开源图片压缩算法Guetzli实测体验报告(
Stella981 Stella981
3年前
OpenCV 在同一窗口显示多幅图片
好久没更新blog里,看到OpenCV官网做的越来越好,心里也是很高兴的,真有些冲动将来加入到这个组织里做些事。估计2.4.3要在国庆左右跟大家见面,让我们多期待一下吧。闲话少说,今天不介绍复杂的算法了,来个简单的,大家写文章做图经常用Matlab,在Matlab里经常在一个窗口里打开多幅图片。遗憾的是OpenCV没有集成这样的功能,但这难不倒大家,让我
Stella981 Stella981
3年前
AStar寻路1
A星算法是一种启发式的搜索方法,通过一个路径评估函数,来动态确定最佳路径。这点和广度搜索不同。基本思想是有2个列表,open和close,open列表里面的节点表示待搜索周围点的节点,close列表里面记录着不需要搜索的节点。启发式函数fgh;f表示该路径的代价,g表示起点到搜索的点的该条路径的实际值,h表示该搜索的点到终点的估计值。h的
Wesley13 Wesley13
3年前
Java高并发程序设计(四)—— 无锁
一、无锁类的原理详解无锁的概念就是无障碍运行,无障碍是指所有的线程都能进入临界区,无锁在无障碍的基础上加上了一条就是每次竞争必然有一条能够胜出。理论上无障碍有可能线程都失败,所以无锁更切实可行,但实践上无障碍和无锁差不多。(一)CAS(CompareAndSwap)CAS算法的过程是这样的,它包含三个参数CAS(V,E,N)。V表示要更新的变