perkins4j2.github.io's People
perkins4j2.github.io's Issues
Spring Cloud如何利用Zuul实现限流 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/33184/
<!-- 请求限流 --> <dependency> <groupId>com.marcosbarbero.cloud</groupId> <artifactId>spring-cloud-zuul-ratelimit</artifactId> <version>2.0.4.RELEASE&
好奇为何Hazelcast使用了其他的服务注册中心
hazelcast的确不提供很直接的服务注册能力, 但是它确实是一个自带有服务自发现与自动选举能力的应用, 为何在 Hazelcast服务及注册中心实现 使用了eureka进行做服务注册呢? 令我感觉有点匪夷所思.
hazelcast并不需要这种同步服务, 但是如果要使用hazelcast提供一个服务注册的能力的话 可能需要让它维持一个长链接, 也就是它本身instance如何做到死亡发现的操作
Spring Cloud如何利用Ribbon在Zuul上实现灰度测试 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/25628/
<!-- 实现灰度测试关键包 --> <dependency> <groupId>io.jmnarloch</groupId> <artifactId>ribbon-discovery-filter-spring-cloud-starter</artifactId> &l
并发编程第1章-死锁产生及优化 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/20463/
死锁产生 线程互相等待 常见的死锁有JDK死锁和数据库死锁。 以JDK死锁为例: 12345678910111213141516171819202122232425262728293031323334353637383940public class Deadlock { static class Friend { private final String n
Java并发编程艺术 - CAS使用和原理 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/28363/
CAS通过Compare And Swap可以实现原子操作;原子操作即不能被进一步分割的最小粒子。 CAS需要输入两个参数,old值和expect值;若old值未发生变化,则替换old为expect,否则不交换。实际上是三个参数,第三个参数无需输入,可使用局部变量或者由操作指令维护,是old的origin值,用于和输入的old比较。 CAS产生的问题ABA问题假如old和expect值相同,虽然交
Spring Cloud集成Nacos集群 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/57096/
本文介绍生产环境中Nacos集群的安装配置,及与Spring Cloud的集成。 Nacos介绍类似于Spring Cloud Eurake和Spring Cloud Config,Nacos提供了服务注册管理和配置中心的功能;其中配置中心实现动态刷新,无需MQ。 相对于Eurake,Nacos是由阿里提供的开源服务,可以兼容Spring Cloud,也支持其他语言例如python服务的注册管理。
并发编程第1章 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/10420/#more
是否多线程越多速度越快? 结论:并发编程中采用多线程,并非线程越多执行效率越高。 线程执行是由CPU分配较短的时间片,线程在得到时间片时执行,并在时间片后挂起,并切换其他线程执行。 线程切换时先会保存上一个线程状态,并加载当前线程的历史状态。 因为线程的上下文切换需要时间,影响多线程执行速度。 在执行某些简单、快速任务情况下,多线程执行效率还不如单线程执行。假如单核采用单线程执行任务仅需要
Java并发编程艺术 - synchronized使用和原理 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/43888/
synchronized属于重量级锁,实现代码同步。 Java SE1.6优化引入了偏向锁和轻量级锁,同时支持锁升级,以减少获取锁和释放锁的性能消耗。 锁的对象synchronized可以修饰Java非空对象,常见3种形式: 锁实例修饰普通方法,例如: 12synchronized void add(){} 那么该对象实例将会在执行该方法时阻塞,以保持同步执行,不可并行执行;
Java并发编程艺术 - volatile使用和原理 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/34733/
Java代码经过Java编译器编译成字节码,并由类加载器加载到JVM运行时数据区,最终由JVM执行引擎执行字节码,转换为汇编指令在CPU内执行。 Java并发机制主要依赖JVM实现和CPU指令。 volatilevolatile修饰变量,提供多处理器并发**享变量的可见性,是轻量的synchronized。 volatile由CPU指令实现,不会引起上下文切换,性能比synchronized高。
Mac上基于Hexo创建GitHub博客 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/17587/#more
以下为在Mac上利用Hexo搭建GitHub博客过程,选择主题为Next。 Git安装和配置Git安装 下载地址:downloads 选择Mac版本并安装 确认安装成功 1git --version
Mac下IDEA操作实用快捷键 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/10018/
编辑撤销: ⌘+Z切换大小写: ⇧+⌘+U上一个位置: ⌥+⌘+←下一个位置: ⌥+⌘+→(反)注释行: ⌘+/(反)注释块: ⌥+⌘+/格式化: ⌥+⌘+L生成构造器: ⌘+N查看方法实现: ⌥+⌘+B删除当前或者选中块行: ⌘+⌫查找全局查找: ⇧+⇧
Nacos与Eureka区别对比及如何选型 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/35353/#more
功能差异 模块 Nacos Eureka 说明 注册中心 是 是 服务治理基本功能,负责服务中心化注册 配置中心 是 否 Eureka需要配合Config实现配置中心,且不提供管理界面 动态刷新 是 否 Eureka需要配合MQ实现配置动态刷新,Nacos采用Netty保持TCP长连接实时推送 可用区AZ 是 是 对服务集群划分不同区域,实现区域隔离,并提供容灾自动切换
Spring Cloud如何利用Zuul实现网关 | Perkins4j2的技术博客
https://perkins4j2.github.io/posts/33205/
Zuul介绍Zuul是Spring Cloud全家桶一员,用于微服务网关开发,实现对外服务请求的白黑名单控制、代理转发、限流、权鉴认证、灰度测试等。 Zuul POM引入1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253<parent>
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.