自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 Dubbo for Go,Ready for Now.

多语言支持是 Dubbo 发展生态的重点之一。目前,Dubbo 已经支持 PHP/Node.js/Python,同时,基于标准的 Java REST API - JAX-RS 2.0实现了 REST 的调用支持。具体的支持和贡献者情况如下:PHP: php-for-apache-dubbo by 乐信,提供客户端和服务端。Node.js: dubbo2.js by 千米网 ,提供客户端; egg-dubbo-rpc by 蚂蚁金服 egg 团队 ,提供客户端和服务端。Python: py-cli

2020-05-20 11:46:35 231

原创 开发者说:基于 Nacos 的网关灰度路由和服务权重灰度

Nepxion Discovery Gray是Nepxion Discovery的极简示例,有助于使用者快速入门。它基于Spring Cloud Greenwich版本而制作(使用者可自行改成Finchley版和Edgware版),主要功能包括:网关灰度路由。采用配置中心配置路由规则映射在网关过滤器中植入Header信息而实现,主要包括版本路由和区域路由两种。服务灰度权重。采用配置中心配置权重规则映射在全链路而实现,主要包括版本权重和区域区域两种。自定义网关和服务的路由策略。采用简单编程方式,根据业务

2020-05-20 11:45:52 1876

原创 架构思想 = 不过时 = 历久弥新

一、软件系统的价值架构是软件系统的一部分,所以要明白架构的价值,首先要明确软件系统的价值。软件系统的价值有两方面,行为价值和架构价值。行为价值是软件的核心价值,包括需求的实现,以及可用性保障(功能性 bug 、性能、稳定性)。这几乎占据了我们90%的工作内容,支撑业务先赢是我们工程师的首要责任。如果业务是明确的、稳定的,架构的价值就可以忽略不计,但业务通常是不明确的、飞速发展的,这时架构就无比重要,因为架构的价值就是让我们的软件(Software)更软(Soft)。可以从两方面理解:当需求变更时,所需

2020-05-20 11:44:46 217

原创 Nacos 注册中心主要贡献者详解注册中心的设计原理

服务发现是一个古老的话题,当应用开始脱离单机运行和访问时,服务发现就诞生了。目前的网络架构是每个主机都有一个独立的 IP 地址,那么服务发现基本上都是通过某种方式获取到服务所部署的 IP 地址。DNS 协议是最早将一个网络名称翻译为网络 IP 的协议,在最初的架构选型中,DNS+LVS+Nginx 基本可以满足所有的 RESTful 服务的发现,此时服务的 IP 列表通常配置在 Nginx 或者 LVS。后来出现了 RPC 服务,服务的上下线更加频繁,人们开始寻求一种能够支持动态上下线并且推送 IP 列表

2020-05-20 11:43:17 897

原创 开发者说:Sentinel 流控功能在 SpringMVC/SpringBoot 上的实践

从用户的视角来感受一个开源项目的成长,是我们推出「开发者说」专栏的初衷,即在开发者进行开源项目选型时,提供更为立体的项目信息。专栏所有内容均来自作者原创/投稿,本文是「开发者说」的第6篇,作者 Jason Joo,@友乐活(北京),Sentinel Committer.1st:《深度剖析开源分布式事务方案 Seata 的事务协调器》2nd:《RocketMQ 消息发送的高可用设计》3st:《消息队列 Kafka 和 RocketMQ 之我见》4th:《如何参与定义一款 IDE 插件》5th:《基于

2020-05-20 11:42:15 330

原创 性能压测工具选型对比

第一期:《压测环境的设计和搭建》,点击这里。本文致力于给出性能压测的概念与背景介绍,同时针对市场上的一些性能压测工具,给出相应的对比,从而帮助大家更好地针对自身需求实现性能压测。为什么要做性能压测在介绍性能压测概念与背景之前,首先解释下为什么要做性能压测。从09年的淘宝双十一大促导致多家合作银行后台系统接连宕机,到春运期间12306购票难,再到前不久聚美优品促销活动刚开始就遭秒杀。根据Amazon统计,每慢100毫秒,交易额下降1%。这些事件和统计数据为大家敲响了警钟,也客观说明了性能压测对于企业应用

2020-05-20 11:41:15 132

原创 他俩在分布式事务领域牵手了

日前,分布式数据库中间件 ShardingSphere 将 Seata 分布式事务能力进行整合,旨在打造一致性更强的分布式数据库中间件。背景数据库领域,分布式事务的实现主要包含:两阶段的 XA 和 BASE 柔性事务。XA 事务底层,依赖于具体的数据库厂商对XA两阶段提交协议的支持。通常,XA 协议通过在Prepare 和 Commit 阶段进行 2PL (2阶段锁),保证了分布式事务的 ACID,适用于短事务及非云化环境(云化环境下一次 IO 操作大概需要 20ms,两阶段锁会锁住资源长达 40ms

2020-05-20 11:40:13 165

原创 Dubbo PPMC 演示如何更快的创建 Dubbo 样例工程

如何安装 Cloud Toolkit 插件本文使用 IntelliJ IDEA 在 MAC 下进行安装:打开 IntelliJ IDEA -> Preference,在弹出的框里面选择插件;在输入框中输入 AlibabaCloudToolkit;在搜索结果中点击安装;由于网络原因,可能会出现搜索不到的情况,请多尝试几次,或使用离线安装包进行下载。(点击“阅读原文”,免费下载)安装完毕,重启 IntelliJ IDEA,再次访问 Preference, 可以看到左侧菜单出现了

2020-05-20 11:39:26 143

原创 Pinpoint PHP 客户端原理分析

Pinpoint 是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于监控和追踪大规模分布式系统。本文对 Pinpoint 的 PHP 客户端做了一次较深入的原理分析,后续我们将分享更多性能监控和诊断领域的技术文章。正文开始 -????Pinpoint PHP Agent 利用 PHP/Zend 虚拟机提供的 Hook 机制实现,实现不修改代码就能监控 PHP 应用。该 Agent 使用 C++ 开发,各种插件除了直接写在Agent

2020-05-20 11:36:26 589

原创 你知道 Java 类是如何被加载的吗?

前言最近给一个非 Java 方向的朋友讲了下双亲委派模型,朋友让我写篇文章深度研究下JVM 的 ClassLoader,我确实也好久没写 JVM 相关的文章了,有点手痒痒,涂了皮炎平也抑制不住的那种。我在向朋友解释的时候是这么说的:双亲委派模型中,ClassLoader 在加载类的时候,会先交由它的父 ClassLoader 加载,只有当父 ClassLoader 加载失败的情况下,才会尝试自己去加载。这样可以实现部分类的复用,又可以实现部分类的隔离,因为不同 ClassLoader 加载的类是互相隔离

2020-05-20 11:35:20 158

原创 携程的 Dubbo 之路

缘起携程当初为什么要引入 Dubbo 呢?实际上从 2013 年底起,携程内主要使用的就是基于 HTTP 协议的 SOA 微服务框架。这个框架是携程内部自行研发的,整体架构在这近6年中没有进行大的重构。受到当初设计的限制,框架本身的扩展性不是很好,使得用户要想自己扩展一些功能就会比较困难。另外,由于 HTTP 协议一个连接同时只能处理一个请求。在高并发的情况下,服务端的连接数和线程池等资源都会比较紧张,影响到请求处理的性能。而 Dubbo 作为一个高性能的 RPC 框架,不仅是一款业界知名的开源产品,它整

2020-05-19 14:52:46 104

原创 从 DevOps 到 Serverless

没有比“不用做”更有效的方式来解决“如何更高效做”的问题了。DevOps 概述DevOps 是一组用于促进开发和运维人员之间协作的过程、方法和系统的统称。DevOps 提倡通过一系列的技术和工具降低开发和运维人员之间的隔阂,实现从开发到最终部署的全流程自动化,从而达到开发运维一体化。通过将 DevOps 的理念引入到整个系统的开发过程中,能够显著提升软件的开发效率,缩短软件交付的周期,更加适应当今快速发展的互联网时代。说到 DevOps ,就必然会提到持续集成,持续集成指的是在软件开发过程中,软件开

2020-05-19 14:50:47 106

原创 Nacos 常见问题及解决方法

Nacos 开源至今已有一年,在这一年里,得到了很多用户的支持和反馈。在与社区的交流中,我们发现有一些问题出现的频率比较高,为了能够让用户更快的解决问题,我们总结了这篇常见问题及解决方法,这篇文章后续也会合并到 Nacos 官网的 FAQ 里。如何依赖最新的 Nacos 客户端?很多用户都是通过 Spring Cloud Alibaba 或者 Dubbo 依赖的 Nacos 客户端,那么 Spring Cloud Alibaba 和 Dubbo 中依赖的 Nacos 客户端版本,往往会落后于 Nacos

2020-05-19 14:49:48 6415

原创 K8s 支持一键部署

随着互联网时代的不断发展,开发者可能会面临这样的困境:为了解决问题、提升开发效率而竭力研发出来的“创新”,似乎削弱了他们在公司的重要程度,甚至取代了他们原先的地位。比如,在云原生时代,部分企业更愿意选择 K8s 来解决运维、弹性的问题,而不是组建一支需要耗费大量雇佣资金、管理资金的研发团队。对于 K8s,它的价值在于不仅能帮助公司降低运维成本,同时还可以带来弹性、敏捷、可移植能力,但是对于开发者而言,我们的价值不应该仅仅停留在能与 K8s 解决同样的问题,而是从困境跳脱出来,思考如何更灵活、更高效地运用

2020-05-19 14:48:16 280

原创 dubbo-go 的开发、设计与功能介绍

dubbo-go 的前世今生dubbo-go 是目前 Dubbo 多语言生态最火热的项目。dubbo-go 最早的版本应该要追溯到 2016 年,由社区于雨同学编写 dubbo-go 的初版。当时很多东西没有现成的轮子,如 Go 语言没有像 netty 一样的基于事件的网络处理引擎、 hessian2 协议没有 Go 语言版本实现,加上当时 Dubbo 也没有开始重新维护。所以从协议库到网络引擎,再到上层 dubbo-go ,其实都是从零开始写的。在 2018 年,携程开始做 Go 语言的一些中间件以搭

2020-05-18 10:53:30 124

原创 Knative 实战:基于 Knative Serverless 技术实现天气服务

提到天气预报服务,我们第一反应是很简单的一个服务啊,目前网上有大把的天气预报 API 可以直接使用,有必要去使用 Knative 搞一套吗?杀鸡用牛刀?先不要着急,我们先看一下实际的几个场景需求:场景需求1:根据当地历年的天气信息,预测明年大致的高温到来的时间场景需求2:近来天气多变,如果明天下雨,能否在早上上班前,给我一个带伞提醒通知场景需求3:领导发话:最近经济不景气,公司财务紧张,那个服务器,你们提供天气、路况等服务的那几个小程序一起用吧,但要保证正常提供服务。从上面的需求,我们其实发现,要做

2020-05-18 10:52:00 232

原创 Dubbo 在跨语言和协议穿透性方向的探索:支持 HTTP/2 gRPC

本文整理自刘军在 Dubbo meetup 成都站分享的《Dubbo 在多语言和协议穿透性方向上的探索》。本文总体上可分为基础产品简介、Dubbo 对 gRPC (HTTP/2) 和 Protobuf 的支持及示例演示三部分,在简介部分介绍了 Dubbo、HTTP/2、gRPC、Protobuf 的基本概念和特点;第二部分介绍了 Dubbo 为何要支持 gRPC (HTTP/2) 和 Protobuf,以及这种支持为 gRPC 和 Dubbo 开发带来的好处与不同;第三部分通过两个实例分别演示了 Dubb

2020-05-18 10:50:53 747

转载 Java 和操作系统的交互细节

肉眼看计算机是由 CPU 、内存、显示器这些硬件设备组成,但大部分人从事的是软件开发工作。计算机底层原理就是连通硬件和软件的桥梁,理解计算机底层原理才能在程序设计这条路上越走越快,越走越轻松。从操作系统层面去理解高级编程语言的执行过程,会发现好多软件设计都是同一种套路,很多语言特性都依赖于底层机制,今天董鹏为你一一揭秘。结合 CPU 理解一行 Java 代码是怎么执行的根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示。enter ima

2020-05-18 10:49:20 289

原创 分布式事务 GTS 的价值和原理浅析

GTS 今年双 11 的成绩今年 2684 亿的背后,有一个默默支撑,低调到几乎被遗忘的中间件云产品——GTS(全局事务服务,Global Transaction Service),稳稳地通过了自 2014 年诞生以来的第 5 次“大考”。2019 年 11 月 1 日至 12 日,GTS 日均处理分布式事务数量达 亿级 ,每天峰值 TPS 达 万级 。这背后最重要意义在于:成绩是在给业务应用的设计和开发带来 0 负担 的前提下得到的。GTS 带来的价值随着企业的发展,企业业务架构面临数据、服务的

2020-05-18 10:47:06 149

原创 跑的好好的 Java 进程,怎么突然就瘫痪了

内存回收一直是 Java的痛点用 Java 无法做出类似 Redis 这样的产品。Java 的内存回收机制使我们在编写代码时不需要关注对象的回收,同时加大了内存回收的消耗,标记复制需要做内存拷贝,标记清除算法则需要 stop the world 。所以我们在使用缓存的时候,量稍微大一些就需要借助类似 Redis 这样的中间件帮我们处理了。作为 Javaer ,我们享受了自动内存回收的安逸,同时也需要多了解下内存优化的方法。为什么 FGC 停不下来了什么情况下会 GC为了了解我们的系统为什么会不停 F

2020-05-18 10:45:25 101

原创 微服务治理实践:探寻业务的单点异常自愈能力

不断的学习新东西,不断的思考更多,不断的对原有自己造成更大的冲击。如果要给我迁移 FaaS 期间的感受下一个总结,那么一定是:“在撕裂中成长”。微服务架构下,稳定性和高可用性一个永恒的话题,在实际的治理过程中,我们有可能会遇到以下场景:某个应用灰度发布,先上了几台机器,由于代码逻辑写的有问题,造成线程池满,出现运行异常。服务端集群中,某几台机器由于磁盘满,或者是宿主机资源争抢导致 load 过高,客户端出现调用超时。服务端集群中,某几台机器由于线程池满,造成 Full Garbage Collect

2020-05-18 10:44:39 144

原创 Java 编码技巧之高效代码 50 例

世界上只有两种物质:高效率和低效率;世界上只有两种人:高效率的人和低效率的人。— 萧伯纳同理,世界上只有两种代码:高效代码和低效代码;世界上只有两种人:编写高效代码的人和编写低效代码的人。如何编写高效代码,是每个研发团队都会面临的一个重大问题。本文作者根据实际经验,查阅了大量资料,总结了"Java 高效代码 50 例",让每一个 Java 程序员都能编写出"高效代码"。1.常量&变量1.1.直接赋值常量值,禁止声明新对象直接赋值常量值,只是创建了一个对象引用,而这个对象引用指向常量

2020-05-18 10:43:15 161

原创 性能优化常用工具及经验总结

性能问题和 Bug 不同,后者的分析和解决思路更清晰,很多时候从应用日志(文中的应用指分布式服务下的单个节点)即可直接找到问题根源,而性能问题,其排查思路更为复杂一些。对应用进行性能优化,是一个系统性的工程,对工程师的技术广度和技术深度都有所要求。一个简单的应用,它不仅包含了应用代码本身,还和容器(虚拟机)、操作系统、存储、网络、文件系统等紧密相关,线上应用一旦出现了性能问题,需要我们从多方面去考虑。与此同时,除了一些低级的代码逻辑引发的性能问题外,很多性能问题隐藏的较深,排查起来会比较困难,需要我们对

2020-05-18 10:41:15 1402

原创 考拉海购技术支持的前世今生

想和大家聊一聊考拉技术支持的前世今生,在这个发展历程的介绍当中,大家也可以此对考拉窥一斑而知全豹。当然,既然是聊我们的家常(“黑历史”),我会从这几年在考拉供应链产品事业部的视角去讲述(请轻拍~~),并且,也不会就很多过往事项留恋于细致的介绍,只讲下大面上的东西。技术支持的由来和定位技术支持由来其实电商公司或者说考拉这个 BG ,刚开始成立时是绝不可能就有技术支持这个岗位的。技术支持岗位诞生的前提往往有这么几个条件(满足其中1-2个即可):1、业务发展迅速,产品对应的业务规模需要得到迅速扩张;2、

2020-05-18 10:38:25 368

原创 一个 Blink 小白的成长之路

写在前面写过 Blink SQL 的同学应该都有体会,明明写的时候就很顺滑,小手一抖,洋洋洒洒三百行代码,一气呵成。结果跑的时候,吞吐量就是上不去。导致数据延迟高,消息严重积压,被业务方疯狂吐槽。这时候,老鸟就会告诉你,同学,该优化优化你的代码了,再丢过来一个链接,然后留下一脸懵逼的你。笔者就是这么过来的,希望本文能帮助到跟我有过同样困惑,现在还一筹莫展的同学。背景故事先说一下相关背景吧,笔者作为一个刚入职阿里的小白,还处在水土不服的阶段,就被临危受命,改造数据大屏。为什么说临危受命呢,首先是此时距双

2020-05-17 14:20:54 194

原创 那些和闰年相关的 Bug

2020年是一个闰年(Leap Year),闰年是会出故障的。八年前,2012年2月29日,我在Azure的时候我们就出了一个大故障:https://azure.microsoft.com/en-us/blog/summary-of-windows-azure-service-disruption-on-feb-29th-2012/常见的错误认知1、 一年总是365天2、2月总是28天3、闰年是每四年一次其实,闰年并不是每四年一次。2000是闰年,但1900年和2100都不是闰年。哪里容易出闰

2020-05-17 14:18:45 222

原创 带你读透 SEATA 的 AT 模式

前言众所周知,分布式事务是个复杂的问题,有很多种不同的思路和方法。在 Seata 项目中,最早由阿里巴巴中间件开源出的 AT 模式(Automatic Transaction) 是一套创新的、业务无侵入的分布式事务解决方案。截止 Seata 的 GA 版本发布,AT 模式 已经在开源社区引起了广泛关注, 40 余家企业用户已经将 Seata 的 AT 模式应用于生产。AT 模式 的独特之处到底在哪里?这种事务模式的设计思路来自哪里?价值是什么?希望可以通过这篇文章,帮助大家深入解读 Seata 的

2020-05-17 14:04:45 1064 1

原创 IDE 插件新版本发布,在 Visual Studio Code 也能一键打包部署

去年,阿里云发布了本地 IDE 插件 Cloud Toolkit,仅 IntelliJ IDEA 一个平台,就有 15 万以上的开发者进行了下载,体验了一键部署带来的开发便利。时隔一年的今天,阿里云正式发布了 Visual Studio Code 版本,全面覆盖前端开发者,帮助前端实现一键打包部署,让开发提速 8 倍。中间件小姐姐,居家开课,连麦岛风小哥哥,一起手把手教你如何使用免费 IDE 插件,将应用部署到任意服务器、EDAS 。并讲解插件的多种集成功能,让你实现高效开发、测试、诊断并部署应用,工作效

2020-05-17 14:01:55 410

原创 我在阿里远程办公

工作日的日常起床,坐班车到公司,用阿里邮箱处理未读邮件,打开语雀,完成当天的工作计划和日课,接着按照工作计划的优先级处理事务,通过 Aone 管理任务进度,完成代码的 CR 和部署,不定时处理钉钉消息,通过阿里郎参加线上会议或到会议室参加线下会议,这是我工作日的一天。由于日常就需要和多个园区、多个城市的同学进行沟通和交流,事实上除了和本团队的同学以外,一直都是远程办公的模式,但是真正在家远程办公,会不会产生新的问题呢?答案是肯定的。从团队和协作的角度思考,在这种状态下如何管理团队,如何跟踪项目的进度以

2020-05-17 14:00:12 147

原创 从国际站 - M 站建设谈开发者产品思维

前言作为一个开发者我们在持续不断地交付我们负责的需求,可我们很少从产品的角度来看待我们交付的需求,比方说一直被强调的需求类型、需求价值、需求目标。作为产品需要具备的能力:看到用户、倾听用户、判断用户、与用户连接、在用户的交互反馈中迭代和优化;建立系统能力,向用户交互一种确定性;建立交互能力,不断的连接与迭代,深化和用户的关系。但作为一个开发者需要具备的产品能力应该是什么样的?如下将简单分析作为开发者在日常工作中需额外兼顾的思想行为。知道很多道理,但依然过不好这一生。M 站在此之前随着定位不断发生变化,我

2020-05-17 13:57:53 191

原创 Kubernetes operator 模式开发实践

1.前言近日我们在开发符合我们业务自身需求的微服务平台时,使用了 Kubernetes 的 Operator Pattern 来实现其中的运维系统,在本文,我们将实现过程中积累的主要知识点和技术细节做了一个整理。读者在阅读完本文之后,会对 Operator Pattern 有一个基本的了解,并能将该模式应用到自己的业务中去。除此之外,我们也会分享要实现这一运维系统需要具备的一些相关知识。注:阅读本文内容需要对 Kubernetes 和 Go 语言有基本了解。2.什么是 Operator Patter

2020-05-17 13:56:51 1208

原创 在家运维不用慌 | 盘点那些远程运维中的云上利器

远程办公期间,降低非必要的协作成本和本地操作,来提升开发和运维效率,显得尤为重要。此外,大量的在线教育、在线医疗等行业的客户在疫情期,遇到了流量激增的情况,那么是否有在不影响现有架构的情况下,通过一些工具型产品,就能提升业务的可用性呢?本文将介绍几款阿里云的开发和运维工具,优势是降低计算资源成本、提升开发运维效率、优化协作成本。利器一:容量规划利器 - 性能测试服务(简称 PTS )面向群体:a. 性能测试人员:负责业务系统的性能验收,摸顶系统瓶颈点,转化为性能优化需求你。b. 运维岗位:负责系统

2020-05-17 13:54:48 332

原创 当我们在谈论内存时,我们在谈论什么

前言内存,是程序员绕不过的一道坎。写过 C 和 C++ 的人想必都会对内存的手动分配和释放难以忘怀,在 Java 中,得益于 JVM 的自动垃圾回收( GC )机制,大部分情况下编程并不需要关心内存的分配与回收。当然,有了 GC 并不意味着就完事大吉了,如果不了解其中的原理,以错误的姿势滥用 GC ,很有可能翻车酿成不可估量的损失。在经历过一次严重的线上故障之后,本文试图深入分析 JVM 的内存管理机制,探索如何监控和避免内存使用量过高的场景出现。难免有错误之处,还请各位指正内存是什么?这个问题看似

2020-05-16 08:52:05 282

原创 演进:Tengine 从 Web 代理服务器 到 分布式推送服务器

TengineTengine 作为代理服务器,在集团有着广泛的应用基础,从 部署在 应用单机上的 Tengine ,到作为集群式部署的统一接入 Aserver ,可以说集团几乎所有应用机器均运行着 Tengine 。当然, Tengine 的不同部署形态,其作用也不经相同,这都得益于Tengine 作为优秀的反向代理服务器,有着 高性能、低延迟、高可用 等特性。下图是常见的统一接入模型:当前HTTP长连接业务现状无论客户端发起的请求是 HTTP2 还是 HTTP 1.1,Tengine 作为反向代理

2020-05-16 08:50:07 234

原创 初探 Java agent

引言在本篇文章中,我会通过几个简单的程序来说明 agent 的使用,最后在实战环节我会通过 asm 字节码框架来实现一个小工具,用于在程序运行中采集指定方法的参数和返回值。有关 asm 字节码的内容不是本文的重点,不会过多的阐述,不明白的同学可以自己 google 下。简介Java agent 提供了一种在加载字节码时,对字节码进行修改的方式。他共有两种方式执行,一种是在 main 方法执行之前,通过 premain 来实现,另一种是在程序运行中,通过 attach api 来实现。在介绍 agen

2020-05-16 08:49:19 187

原创 全局事务服务 GTS 与 Seata 融合的开始

GTS 和 Seata 的关系Seata(Simple Extensible Autonomous Transaction Architecture)是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。在 GitHub 上拥有超过 1.4 万 Star,毫无疑问是开源社区分布式事务领域最火爆的项目。GTS(Global Transaction Service 全局事务服务)是阿里云上的分布事务中间件产品,用于实现分布式环境下特别是微服务架构下的高性能事务一致性。2014 年,阿

2020-05-16 08:45:39 407

原创 超18 万人次下载使用的 Cloud Toolkit 的成长历程

在文章的开始,先介绍一下 Cloud Toolkit 是什么?Cloud Toolkit 是阿里云发布的免费本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、ACK、ACR 和 小程序云等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传、函数计算 和 MySQL 执行器等工具。不仅仅有 IntelliJ IDEA 主流版本,还有 Eclipse、Pycharm、Maven 等其他

2020-05-16 08:44:29 128

原创 从国际站 - M 站建设谈开发者产品思维

作为一个开发者我们在持续不断地交付我们负责的需求,可我们很少从产品的角度来看待我们交付的需求,比方说一直被强调的需求类型、需求价值、需求目标。作为产品需要具备的能力:看到用户、倾听用户、判断用户、与用户连接、在用户的交互反馈中迭代和优化;建立系统能力,向用户交互一种确定性;建立交互能力,不断的连接与迭代,深化和用户的关系。但作为一个开发者需要具备的产品能力应该是什么样的?如下将简单分析作为开发者在日常工作中需额外兼顾的思想行为。知道很多道理,但依然过不好这一生。M 站在此之前随着定位不断发生变化,我们随之

2020-05-16 08:43:28 150

原创 Nacos 权限控制介绍及实战

Nacos权限控制设计方案方案背景Nacos 自开源依赖,权限控制一直需求比较强烈,这也反应了用户需求将 Nacos 部署到生产环境的需求。最新发布的 Nacos 1.2.0版本已经支持了服务发现和配置管理的权限控制,保障用户安全上生产。本文主要介绍 Nacos 权限控制的设计方案和使用指南。什么是权限控制?在分布式服务调用时,需要对未知的或者不受信任的请求来源的请求进行识别和拒绝。权限控制一般分为两个阶段:身份识别(Authentication)和权限识别(Authorization)。身份认证主

2020-05-16 08:42:23 312

原创 你 get 线上问题排查的最优方式了吗?

当线上碰到头疼的问题时,还在对着代码一行行的看?真的不太时髦了啊喂~9ce9d77232574726b23787f4e875efcb.jpeg俗话说的好 “问题排查不用愁,Arthas 来帮您忙。” 今天就来说说这个让妈妈再也不用担心我排查问题的 Java 诊断神器——Arthas!什么是 Arthas?Arthas 是一款开源在线诊断工具,采用命令行交互模式,支持 web 端在线诊断,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。这是一款开源一年多 GitHub star

2020-05-16 08:41:23 104

基于LABVIEW和热电偶设计一个温度测量系统.zip

整个温度测量系统的设计为两个部分,一在LABVIEW2018上编程出温度测量系统,二在NI-DAQ上进行数据采集,把采集到的数据通过串口输入到LABVIEW的子面板程序中,输出得到波形,完成设计。

2020-05-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除