- 博客(54)
- 收藏
- 关注
原创 云原生时代的微服务架构实践
做微服务开发,没有实战经验肯定不行,今天给大家带来实战分享,历时三年,将平时积累的汇合,形成一套书籍《云原生时代的微服务架构实践》,今天主要分享这套书籍,里面干货满满,文末附开源代码~获取方式 关注下方微信公号《程序猿Damon》,回复关键字“云原生架构”,即可获取本书《云原生时代的微服务架构实践》,文末附传开源代码,欢迎fork、star。结束福利开源实战利用 k8s 作微服务的架构设计代码:https://gitee.com/damon_one/spring-cloud-k8sht
2021-05-06 10:01:16 439 4
原创 ArrayList、LinkedList 你真的了解吗?
1、 前言经常在面试时,被问到集合的概念,集合 List、Map、Set 等底层设计以及其使用场景与注意细节。但大部分人的回答都是千篇一律,跟网上的答案一模一样,这是致命滴。其实,大家都错了,尤其是网上,更是误导大家,详细原因,且听我来分析。2、集合 List2.1 大家心中的 List在广大的网友心中,List 是一个缓存数据的容器,是 JDK 为开发者提供的一种集合类型。面试时,被问到...
2020-04-18 15:46:12 299
原创 Spring cloud 之熔断机制(实战)
前面讲过 Spring cloud 之多种方式限流(实战)来处理请求频繁的压力。大家都知道,多个微服务之间调用的时候,假设微服务 A 调用微服务 B 和微服务 C,微服务 B 和微服务 C 有调用其他的微服务,这就是所谓的 扇出,若扇出的链路上某个微服务的请求时间过长或者不可用,对微服务 A 的调用就会占用越来越多的时间以及更多资源,进而引起系统雪崩,即”雪崩效应”。这个时候,需要一个机制来保证...
2020-03-24 09:17:33 3216
原创 Spring cloud 之多种方式限流(实战)
在频繁的网络请求时,服务有时候也会受到很大的压力,尤其是那种网络攻击,非法的。这样的情形有时候需要作一些限制。例如:限制对方的请求,这种限制可以有几个依据:请求IP、用户唯一标识、请求的接口地址等等。当前限流的方式也很多:Spring cloud 中在网关本身自带限流的一些功能,基于 redis 来做的。同时,阿里也开源了一款:限流神器 Sentinel。今天我们主要围绕这两块来实战微服务的限流...
2020-03-23 16:54:01 3902
原创 面试被问finally 和 return,到底谁先执行?
经常有人面试被问到,finally 和 return,到底谁先执行呢?为了解决这个问题,其实我们可以先想想 finally 是被用来干嘛的呢?它是被用来结束一些正常的收尾动作或结束标识。也就是说无论怎么样,finally 都会被最后执行。例如:一般在操作数据库时,用Jdbc连接池连接数据库后释放资源,需要 finally 来处理。再如 redis 连接,在获取连接池处理完数据的增删改查后,需要释...
2020-03-23 16:04:04 1674
原创 今天被问微服务,这几点,让面试官刮目相看
点击上方蓝色“程序猿Damon”,选择“设为星标”回复“yeah”获取整理的学习资料油菜花开了,春天来了,金三银四,换新季!在金三银四的季节,不少人在换工作,也许在面试时,觉得技术交流的...
2020-03-20 15:47:08 488
原创 Spring Cloud Kubernetes之实战一配置管理
一直以来,玩springcloud的,基本都是在玩Springboot1.x,Springcloud(Dalston版)的众多相关组件来做配置中心、服务注册与发现,网关用的是Netflix公司对springboot做的LB,等等,但是这些东西太过沉重,复杂了。在一个以k8s为基础的iaas服务系统,如果不用k8s的特性来做这些事,那是说不过去的。理由这就不重复述说了。一句话:减少系统服务的复杂性。...
2020-03-11 11:22:55 1159
原创 微服务自动化部署CI/CD
一直有人说想了解微服务的自动化部署,今天它来了~在微服务化的时代,自动化部署越来越成为企业的重中之重了,因为这样减少了人员的成本,开发人员将代码提交后,触发相关事件即可部署测试环境,甚至...
2019-12-24 17:00:54 2166
原创 如何将镜像体积海量缩减
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践镜像的传统构建我们随便找个Golang代码项目作为案例,来开始构建一个镜像。下面我们以我的一个实战项目开始讲解:https://gitee.com/damon_one/uranus。第一步:我们把项目代码克隆到本地:gitclonehttps://gitee.com/damon_one/uranus第二步,书写其编译的Docker...
2023-08-01 08:50:53 436
原创 微服务应用启动慢的克星
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践背景随着业务的复杂程度越来越大,所启动的实例或函数越来越多,Spring cloud 应用的启动越来越慢,那么如何发现 Spring 容器启动慢的原因或位置,有没有一款工具,帮助我们用户发现 Spring 应用启动慢的位置呢?同时,还可以提供 Spring Bean 异步初始化的工具。那么答案是有的。实战操作下面,我们可以通过下面的方...
2023-07-31 12:09:20 345
原创 秒级体验本地调试远程 k8s 中的服务
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践背景在这个以k8s为云os的时代,程序员在日常的开发过程中,肯定会遇到各种问题,比如:本地开发完,需要部署到远程k8s集群,本地如何直接操作呢?又如:提测到测试环境发现有问题,或者nightly环境本身没过,这时候,可能需要一些调试。下面介绍一款开源已久的产品来体验秒级体验下本地操作远程k8s、直接在调试远程代码。借助 Nocalho...
2023-07-28 20:19:37 1139
原创 AI编程常用工具 Jupyter Notebook
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践深度学习编程常用工具我们先来看 4 个常用的编程工具:Sublime Text、Vim、Jupyter。虽然我介绍的是 Jupyter,但并不是要求你必须使用它,你也可以根据自己的喜好自由选择。Sublime Text第一个是 Sublime Text,它是一个非常轻量且强大的文本编辑工具,内置了很多快捷的功能,同时还支持很丰富的插件...
2023-07-26 08:20:52 714
原创 一行代码无缝接入链路跟踪
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践前因随着业务的扩充,微服务项目越来越多,对于分布式架构设计来讲,如何更好的监控每个服务的上下游成为了重点问题, 因为一旦中间某个调用链发生问题,就会导致整个链路连接失败。为了更好、更快的找到链路所在,我们就需要一个完整的链路跟踪系统,本节主要分享的是基于OpenTelemetry的一个链路跟踪库,可以很方便的无缝插拔式接入各种微服务系...
2023-07-24 16:51:55 148
原创 一分钟使用高性能框架 Hertz
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践Hertz 是什么Hertz[həːts] 是字节 CloudWeGo 团队一个 Golang 微服务 HTTP 框架,在设计之初参考了其他开源框架 fasthttp、gin、echo 的优势, 并结合字节跳动内部的需求,使其具有高易用性、高性能、高扩展性等特点,目前在字节跳动内部已广泛使用。如今越来越多的微服务选择使用 Golang...
2023-07-21 09:31:42 883
原创 奔赴猿田地,开垦一亩三分产
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践大家好,很久没开荒了,最近一直在想着要不要开始分享最近的一些小技术,看到互联网泡沫化日益严重,程序猿下岗失业,bibi皆是。但不管外界环境咋样,我想的还是要丰富自身,即使有一天不在打工,还可以授人以渔,喝点新鲜的鱼汤。于是乎,最近一直在筹备打算分享最近的一系列技术积累、沉淀。为大家在面对外界干扰时,能够有勇气果敢辞退你的boss,去寻...
2023-07-10 11:56:53 103
原创 K8s 基石下的云原生微服务实践
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践前言微服务架构已经火了很多年了,如:Dubbo、Spring Cloud,再到后来的 Spring Cloud Alibaba,但都是仅限于 Java 语言的瓶颈,如何让各种语言之间的微服务更加有效、快速的通讯,这是当前很多企业需要面临的问题,因为一个企业中,不只是基于单纯的某一种语言开发,这就涉及到多语言服务之间的访问。以 Kube...
2022-11-08 12:40:30 759
原创 KiteX 基于 K8s 的服务注册与发现
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践概览在很久之前的文章中说过,K8s 作为云原生时代的创造者,下一代云原生的中间利器,从云原生 1.0 到 2.0,作为基石,成就无数服务畅游每一台机器。前面的文章 KiteX 入门篇 介绍了如何简单的开发一个高性能 RPC 微服务,并且我们看到其性能与吞吐还是不错的。但需要中间件 Nacos 来连接服务端与客户端。今天,我们主要从 K...
2022-11-04 18:37:41 540
原创 入门 KiteX 基础篇
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践概览KiteX 是 bytedance 开源的高性能 RPC 框架,实现了高吞吐、高负载、高性能等居多特性,具体请看 KiteX 的实践,文章介绍多传输协议、消息协议时,说到 KiteX 支持的协议类型:Thrift、Protobuf 等,今天我们主要来实践如何利用 KiteX 基于对应的 IDL 生成对应协议的代码。Thrift 简...
2022-11-03 12:18:31 971
原创 开源啦~基于高性能 RPC 框架实现微服务实战
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践概览下面给大家介绍一开源高性能 RPC 框架KiteX,该框架由bytedance开源,实践过数千个微服务,QPS过亿。经过持续迭代、持续更新,在吞吐和延迟方面表现了显著的效果。作为 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点。如果对微服务性能有要求,又希望定制扩展融入自己的治理体系,Kitex 会是一个不错的选...
2022-11-01 19:09:24 285
原创 WebClient 增删改查一文搞定
点击上方蓝色字体,选择“设为星标”回复”云原生“获取基础架构实践Webclient 使用场景前面介绍了 什么是阻塞、非阻塞,以及对应的客户端库,非阻塞在高并发、内存不足的情况下,还是一个不...
2021-11-16 17:45:21 560
原创 阻塞与非阻塞客户端
阻塞与非阻塞阻塞是指程序会一直等待该进程或线程完成当前任务期间不做其它事情。而非阻塞,是指当前线程在处理一些事情的同时,还可以处理其它的事情,并不需要等待当前事件完成才执行其它事件。阻塞与...
2021-11-15 12:06:27 680
原创 注意了,ribbon负载均衡器将被替换
区别- RibbonRibbon 是由 Netflix 发布的负载均衡器,它有助于控制 HTTP 和 TCP 的客户端的行为。Ribbon 属于客户端负载均衡。大家都知道,在我们最早使用 ...
2021-11-14 02:45:51 2715
原创 记录那些年 Nacos 的坑
Nacos 旧史2018年11月左右,Springcloud 联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 Spring Cloud Alibaba,并...
2021-11-13 11:50:25 594
原创 基于 spring-cloud-k8s 跨NS坑续集
在前面文章 (spring-cloud-k8s 跨 NS 的坑 中,讲述了 spring-cloud-k8s 中,如何利用 k8s 基于 Ribbon 等负载均衡利器来实现 LB,但存在跨...
2021-11-12 07:23:49 428
原创 spring-cloud-k8s 跨 NS 的坑
回顾前面文章 (Spring Cloud Kubernetes 之实战服务注册与发现) 中,讲述了 spring-cloud-k8s 在微服务实践中,带来了多大的优势。介绍了 k8s 中资...
2021-11-11 16:03:53 882 1
原创 统一认证中心 Oauth2 高可用坑
前面 (统一认证中心 Oauth2 认证坑user-info-uri来实现消费端的认证信息以及授权获取判断,接下来我们借助 token-info-uri 来实现认证以及授权破。具体配置见:...
2021-11-05 11:33:46 938
原创 统一认证中心 Oauth2 认证坑
在前面文章 Springcloud Oauth2 HA篇cas-server-url:http://cas-server-service#这里配置成HA地址security:...
2021-11-04 12:54:30 2843
原创 Go 并发基础
协程(Goroutine)我们知道 Go 中,存在一个 defer 关键字用于修饰一个函数或者方法,使得该函数或者方法在返回前才会执行,也就说被延迟执行,但又一定会执行。但其实 Go 中...
2020-12-31 07:57:04 157
原创 云原生时代微服务的正确姿势
好久没更文了,今天恢复主题,主要讲讲云原生时代,微服务的正确站姿!在Spring Cloud Kubernetes之实战二服务注册与发现一文中,讲过spring-cloud 如何结合 ...
2020-12-30 08:28:00 245
原创 k8s 集群下微服务 pod 的各种指标信息监控
今天主要分享下,在 k8s 集群下,微服务的各种状态指标情况的监控,我们都知道 Prometheus 是做数据监控的,但说白点,其独特格式的数据,其实都是靠一些源来的,那么这些源有哪些呢...
2020-11-04 18:45:00 2145
原创 k8s 调度
k8s 调度1、 k8s 架构k8s的架构如图:我们都知道k8s分为master、node,其中:master 主要有如下几个组件:Kubernetes Controller Manag...
2020-08-25 17:57:13 1039
原创 如何利用k8s拉取私有仓库镜像
现象最近实战时,发现一个很奇怪的问题,在通过 k8s 创建 pod,拉取镜像时,总是显示如下信息:Error syncing pod, skipping: failed to "...
2020-08-19 15:51:02 4815
原创 个站建设基础教程
什么是 HexoHexo 是一个静态网站生成器,基于 Hexo 框架,可以生成自己想要的网站风格,以及网站内容,样式自己可以定义。实战环境准备系统:win7 +nodejs:htt...
2020-08-17 18:56:00 461
原创 首发基于OpenPAI细化部署 Hadoop 集群
前提https://github.com/microsoft/pai/tree/v0.14.0Hadoop 2.9.0k8s 1.9.4 (高版本未测)本次讲解的主要是基于 Micros...
2020-07-18 14:30:39 339
原创 负载均衡那些事儿
点击上方蓝色字体,关注我们1、 前言 负载均衡,英文:Load Balance,其含义是请求分发到多个粒度单元上进行执行操作,例如各种服务器、应用服务、中台服务、数据服务等,从而达到共同...
2020-04-26 12:36:21 247
原创 Oauth2的授权码模式《上》
点击上方蓝色字体,关注我们1、 前言在上一篇 Oauth2 的认证实战-HA 篇 中,我们说过 Oauth2 的高可用方案,但其实其场景仅仅在于密码模式下,如果是授权码模式下,将有点瑕疵...
2020-04-22 15:32:07 294
原创 浅谈 Java 集合 | 底层源码解析
在 Java 中,我们经常会使用到一些处理缓存数据的集合类,这些集合类都有自己的特点,今天主要分享下 Java 集合中几种经常用的 Map、List、Set。目录1、Map一、背景二、M...
2020-04-09 16:09:21 384
原创 微服务架构设计之解耦合
点击上方蓝色“程序猿Damon”,选择“设为星标”回复“yeah”获取整理的学习资料背景在各个 IT 行业的公司,我们会有大大小小的业务需求。当每个产品的业务功能越来越繁重时,也许用户的...
2020-04-06 22:25:47 1619
原创 Spring Cloud Alibaba 实战
点击上方蓝色“程序猿Damon”,选择“设为星标”回复“yeah”获取整理的学习资料2018年11月左右,Springcloud 联合创始人Spencer Gibb在Spring官网的博...
2020-04-02 08:09:00 499
原创 浅谈开发与研发之差异
点击上方蓝色“程序猿Damon”,选择“设为星标”回复“yeah”获取整理的学习资料今天浅谈一下个人的一些看法以及想法,如有雷同,纯属巧合。如有差异,可以当作一个思考。在当前这个波涛汹涌...
2020-03-28 15:19:33 5404
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人