
架构
文章平均质量分 88
webmote
一位资深系统架构师、70后大龄码农、擅长.net core、微服务、前端Vue、大数据ETL、系统DevOps运维、CentOS等,关注我,和我一起平坑码代码,组团打怪兽。
展开
-
快速批量插入1个亿的数据,适合大部分数据库的方法
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????序言干大事,需要学会分解目标。插入1个亿,可以分解为插入10个1000w数据,进而分成插入100个100w数据…那么让我们从小研究,怎么插入100条数据?1. 批量插入几百条数据对大部分数据库来说,批量插入数据都是比较简单的事情,最原创 2021-09-06 17:52:20 · 4321 阅读 · 2 评论 -
微服务之 EShop on dapr概览
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1. Dapr简介Dapr,微软牵头开发的分布式运行时,致力于打造一款事件驱动,可移植可扩展可构建在云端,也可构建在本地的分布式运行时。身具服务发现、基础设施服务代理网关、自身具有状态管理、消息订阅发布以及Actors,遥测等功能,实乃原创 2021-09-05 14:22:53 · 1864 阅读 · 0 评论 -
微服务的终极目标,Mecha分布式运行时之Dapr
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1. Mecha 是啥?微服务发展到今天,已经有很多公司多年前已经改造完毕,也有些公司还在路上,微服务的优势,有过了解的朋友应该也都能说出个一二三来,经历过微服务改造的,应该都知道其中的艰辛。单体服务有着很多优势,结构简单、事务的ACID原创 2021-09-04 17:48:52 · 2816 阅读 · 0 评论 -
理论修炼之ETCD,高一致性Key-Value服务提供者中的佼佼者
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!???????????????? 序言以往在架构选项的时候,大概了解其做什么的,有什么优劣就够了,因为大部分互联网企业比较轻文档重快速迭代,往往并不会纠结过多的选型方案。只要方案合适,干就行了。遥忆刚工作那会,流行瀑布式开发模式,方案和需求的重要性放在最顶级的原创 2021-08-12 22:46:52 · 840 阅读 · 0 评论 -
带你体验最新版的DataOps 大数据平台——StreamSets ControlHub,简单到让人发指
DataOps,顾名思义,其来源于DevOps的概念,提供全自动一体化的数据采集分析功能于一个篮子。 很早之前公司就有意向购买 ControlHub版本,我也因此联系了这家公司,只是很可惜,其负责人回邮件告诉我,中国境内目前并无销售渠道。而现在 Online的Beta版本已经来袭~~~,跟着我看看这个大平台的优势之所在?1、呼之欲出的4.0版本很早就看到StreamSets上线了 4.0的帮助,但是下载版里并没有,这让人非常好奇,StreamSets在憋什么大招呢?是的,通过体验,我已经发现了秘密.原创 2021-06-17 11:59:35 · 4415 阅读 · 7 评论 -
SAAS平台的基础,构建多租户系统的思考
多租户应用程序擅长使用一套代码为多个租户提供服务。该体系结构可以使用单个代码源为许多不同的客户端或租户提供服务。构建多租户系统一般都是哪些构建思路呢?1、什么是租户在多租户体系结构中,应用程序的一个实例可用于向一组称为客户或租户的用户提供对应用程序的访问。租户由共享相同数据,配置信息和用户管理信息的一组用户组成。每个租户都有一个特定的身份,并且应用程序应具有足够的能力以对每个租户做出不同的响应。应该注意的是,在多租户体系结构中,每个租户在物理上是集成的,但在逻辑上是彼此分离的。每个租户甚至可能在物.原创 2021-04-16 18:15:47 · 1179 阅读 · 0 评论 -
ElasticSearch: Index 和 Type 的区别
原文: Index vs. Type By Adrien Grand译者: fengchang对于 ES 的新用户来说,有一个常见的问题:要存储一批新的数据时,应该在已有 index 里新建一个 type,还是给它新建一个 index?要想回答这个问题,我们必须先理解这两者是怎么实现的。过去,我们为了让 ES 更容易理解,经常用关系型数据库做一个比喻: index 就像关系型数据库里的 database, type 就像 database 里的 table。但是这并不正确。由于两种数据库存储数据的.转载 2021-03-29 18:20:12 · 712 阅读 · 11 评论 -
物联网技术学习总结
引言: 20年前,我的那家公司是做传统工业测试测量领域的业务,老板曾经很有前瞻的给我们画饼,别去互联网公司了,太虚,以后的时代是万物互联时代,而公司就是做这些的,以后你在路上的时候,家里的空调已经给你台哦好了家里的温度,微波炉也做好了饭,等你到家的时候,一切都是那么刚刚的好。20年过去了,当时画的饼别的公司已经实现了,而老东家仍然做的是传统的军工测试测量!1、10年前很普通的初级物联网因为公司做的就是工业的测试测量,因此那时候,已经接触了很多的互联设备。熟悉工业测试测量的童鞋应该听到过工业以太网、.原创 2021-01-22 16:27:43 · 2250 阅读 · 2 评论 -
项目经理的 ONES Project 项目管理之旅起航了~~~
作为一名合格的项目经理,手里没有几款项目管理软件的使用经验,那岂不是需要拿起小本本,一个个记录不成?作为IT经营界(精英界)的一名人士,最早使用过Ms Project,经典的里程碑管理啊~~,再到禅道和Jira,真正令人叹服的是Jira的多风格定义思路,当然其价格都是$计算,价格不菲。而作为国内项目管理的新秀——ONES,其推出的系列产品,Project、Wiki、Plan、Test Plan等琳琅满目,可谓在软件国产化的道路上迈出了重要的一步。项目管理起源据说最早来自于建筑行业,早起的项目管理侧重.原创 2020-09-22 14:16:11 · 773 阅读 · 0 评论 -
构建团队的知识库以及打造需求和bug一体的开发管理体验
为了加快团队的敏捷开发效率,并使得需求、开发、测试无缝衔接,必须准备有关程序员的团队管理利器。而今市场上流行的是禅道、TDD、confluence、jira等各类工具流派,当然我非常看好优快云,不过优快云暂时并没有推出类似的管理工具,作为一款主打程序员经验分享的主流博客阵地,缺失了团队的管理,不能不说是一种遗憾。这篇文章但愿能被优快云的产品看到,也许不但能带动优快云的发展,也可以给国内程序员谋福利。1、团队协作国外大牛github自从被微软收购以来,便不断深耕团队项目、团队相关的协作,本人深.原创 2020-08-07 15:00:06 · 621 阅读 · 0 评论 -
多线程的共享资源访问之——读写锁
每天都觉得压力重重,为了释放压力,只有多学习一点点,今天的目标是比昨天的我强大一点点!那就深入理解下读写锁吧,我的代码中用的较少。目录互斥锁:lock读写锁:readwritelock小结互斥锁:lock定义:对共享资源进行互斥,仅允许一个线程进入。在多线程编程方面遇到的第一个问题是,并发对共享资源的访问权限。当两个或多个线程共享对某个对象的访问权限且可能同时尝试修改此对象时,就会出现...原创 2019-12-17 15:20:28 · 1516 阅读 · 1 评论 -
StreamSets的应用——SqlServer CDC的使用
目录SqlServer的CDC和CT区别SqlServer的CDC配置配置同步流程小坑1:主子表外键关联小坑2: 同步主表,自动生成多张子表小结系统的新旧数据需要同步,但两个系统表结构差异较大,因此决定选用StreamSet完成数据的同步,也即SqlServer和MySql的同步。SqlServer的CDC和CT区别StreamSets提供了CDC和Change Tracking两种凡是...原创 2019-12-11 15:09:47 · 2903 阅读 · 1 评论 -
微信小程序介绍
最近在做一个微信小程序的开发,顺便了解下小程序的前世今生,也为总结,做了个ppt,对于小程序这个概念,理解的人可能一下子就明白了,对于远离移动端的人,可能没那么容易理解,所以这个ppt也算入门吧。大纲设计之初先弄明白设计小程序的初衷和理念,对于小程序的应用场景可能会理解的通透写。我的理解是小程序设计之初就是2点:触手可及用完即走上张张小龙的介绍。小程序到底用在哪里?场...原创 2019-11-15 11:56:43 · 1629 阅读 · 0 评论 -
OAurh 2.0/OpenID与老系统的整合——统一登录平台
OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,通过这个标准,第三方无需知道用户的账号和密码,就可获取到用户的授权信息。OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0。OpenID是一个去中心化的网上身份认证系统。对于支持OpenID的网站,用户不需要记住像用户名和密码这样...原创 2019-10-29 11:14:49 · 2572 阅读 · 0 评论 -
服务器 Centos 下安装无头浏览器,并附puppeteer的例子
无头浏览器的安装,在国内可谓一波三折,因为伟大的樯的存在,你如果能按github上的步骤安装成功,算我输。服务器Centos 7下安装不可能安装为UI模式,要不你服务器的命令行岂不是白敲了。在此模式下,先建立本地repo。1、添加Rep源$ sudo touch /etc/yum.repos.d/google.repo使用vi打开文件,填充内容如下:[google]name=G...原创 2019-10-28 11:42:37 · 3214 阅读 · 0 评论 -
大数据迁移分析——Canal尝试
目前使用StreamSets作为数据ETL工具,迁移MySql 时遇到了致命问题,大致涵盖堆栈内存溢出、找不到指定的binaryLog文件、数据重复挂起等问题,以致于在商用的时候步履维艰!项目面临严重的拖期甚至于死掉,而我作为此事情的主要执行人,也受到各方责难!我对StreamSets的信心也是与日递减,为了让事情变得可行,必须跳出原有的固有思维,先以解决问题为目的,寻找备选方案。目的转变为...原创 2019-10-15 11:10:28 · 2367 阅读 · 0 评论 -
StreamSet 使用入门翻译——界面介绍
简介StreamSet Data Collector(以下简称为StreamSet, 官网) 是一个轻量级,功能强大的设计和执行引擎,使用其可以完成路由和处理数据流中的数据。其采用管道任务的概念组织和定义一个个要完成的数据流处理任务,管道由表示管道的起源、目标以及您要执行的任何其他处理组成。StreamSet在数据到达源时处理数据,并在不需要时静默等待。您可以查看有关数据的实时统计信息,在数...原创 2019-09-10 10:56:05 · 9313 阅读 · 3 评论 -
微服务架构阅读有感
重点:良马难乘,然可以任重致远;良才难令,然可以致君见尊!——墨子架构和架构师架构:架构就是取舍!——深邃!架构师:架构师就是做出取舍的人——大道至简!...原创 2019-07-16 09:41:34 · 1913 阅读 · 0 评论 -
JIRA 软件——敏捷开发的利器
敏捷项目管理可以应用于任何的JIRA项目中。无论你是Scrum大师或者是刚刚尝试敏捷开发的新手,JIRA Agile都能够帮助你在整个发布过程中管理待办事项(backlog)、计划冲刺(sprint)并且监测项目进度。Backlog 任务通过快速创建用户故事来建立一个产品Backlog。填写组件、成功标准、业务价值或团队用来规划和执行工作所需的其他字段。如果你的Backlog在其它的工具中...原创 2018-12-03 10:53:03 · 6552 阅读 · 0 评论 -
Kubeadm部署Kubernetes 1.13遇到的问题解决记录
kubeadm 辅助建立Kubernetes集群,这里记录采用其部署时的问题及解决方式。目录1. google 网络不可达2.参考官方文档3. 关闭Swap4.设定master错误5.Kubeadm init 安装镜像卡住6. network引用链接1. google 网络不可达https://packages.cloud.google.com/yum/repos/kubernetes-...原创 2018-12-13 16:09:10 · 11439 阅读 · 5 评论 -
数据对接-ETL之StreamSet学习之旅三
目录目标JavaScript Evaluator结论引用链接本篇文章是StreamSet的进阶篇,主要讲述其Js脚本评估器的用法。目标本次的目标是,对文本文件进行解析,读取的文本文件已经按 回车换行分隔成Records数组,我们要做的是,按照固定长度对Records的内容进行解析,拆分成一个json对象。因为拆分字符串比较复杂,因此,首先是使用脚本解析。JavaScript Eva...原创 2018-12-07 12:00:02 · 4067 阅读 · 0 评论 -
[译]用AWS和java构建无服务器(Serverless)架构应用
原文参考:链接无服务器架构是什么,可以下载一篇免费book了解:链接目录无服务器架构介绍一个异步处理的例子理解AWS生态的无服务器组件混合非无服务器架构服务使用Java实现数据处理结论引用链接无服务器架构介绍在云上构建系统可以有另外一种选择:无服务器架构。它是BAAS(Backends-as-a-Service)的基础,易扩展,能很方便的处理数据库、消息、用户管理等。其包括常见的FAA...翻译 2018-12-10 11:07:49 · 2447 阅读 · 0 评论 -
[转]谦卑的架构师
原文来自InfoQJohannes Brodwall是一位程序员、解决方案架构师、用户组与会议组织者、会议演讲者与布道师。Johannes 一直在不遗余力地将敏捷原则应用到大型软件项目中,不过他真正感兴趣的是与全世界的程序员分享更多关于编程的有趣经验。目前,Johannes 就职于 Exilesoft,担任首席科学家一职。近日,Johannes 撰写了题为谦卑的架构师一文,探讨了架构师所应该遵...转载 2018-12-11 09:26:16 · 1351 阅读 · 0 评论 -
Kubernetes部署Linkerd Service Mesh服务网格服务
Linkerd 是 Service Mesh(服务网格)技术的一个实现,另一个实现是 Istio。Linkerd 技术最早由 Twitter 公司贡献,而 Istio 背景更大,由 Google、IBM 等公司贡献。计算机领域有这么一句话:没有什么问题不是抽象出一层解决不了的。如果有,那就再抽象一层。服务网格就是使用了这样的思想,抽象出专门的一层,提供服务治理领域所需的服务注册发现、负载均衡、...原创 2018-12-27 18:01:12 · 2157 阅读 · 1 评论 -
数据对接-ETL之StreamSet学习之旅四
本篇文章是StreamSet的进阶篇,主要讲述其表达式评估器的用法。目录表达式评估器组件表达式评估器修改范围表达式支持数据流的分流从流组织数据到Json一个Demo结论引用链接表达式评估器组件StreamSet Expression Evaluator执行计算并将结果写入新字段或现有字段。您还可以使用Expression Evaluator添加或修改记录标题属性和字段属性。要创建表达式...原创 2018-12-12 11:22:52 · 3808 阅读 · 1 评论 -
设计模式之责任链应用
目录设计模式的应用应用场景设计基类代码上下文结语引用链接将能够处理同一类请求的对象连成一条链,使这些对象都有机会处理请求,所提交的请求沿着链传递。从而避免请求的发送者和接受者之间的耦合关系。链上的对象逐个判断是否有能力处理该请求,如果能则就处理,如果不能,则传给链上的下一个对象。直到有一个对象处理它为止。设计模式的应用设计模式在架构设计中用的恰当,能起到画龙点睛的作用,但如果用的不恰当...原创 2018-12-26 09:37:38 · 1655 阅读 · 0 评论 -
数据对接-ETL之StreamSet学习之旅五
本篇文章是StreamSet的进阶篇,主要讲述其流的拆分和合并的用法。目录StreamSet的理解Record集对多个流Record的拆分对单个Record的某字段进行拆分对多个Record进行合并结语引用链接StreamSet的理解持续使用了StreamSet软件一段时间,对其理解越来越深了,其软件命名为StreamSet,可简单翻译为流集合,的确,其软件正式流的集合,处理来自源的流集...原创 2018-12-26 10:29:36 · 3491 阅读 · 1 评论 -
微软出品:.net 微服务:容器化.net架构指南
下载地址: https://aka.ms/microservicesebook目录引言 … 1关于本书 … 1版本 … 1本书不包含的内容 … 2本书的目标读者 … 2如何使用本书 … 2微服务和容器示例应用:ESHOPONCONTAINERS … 2请向我们发送您的反馈 … 3容器和DOCKER简介 … 4什么是DOCKER? … 5Docker容器和虚拟机之间的对比...转载 2019-01-11 13:02:13 · 3587 阅读 · 3 评论 -
asp.net(4.7) 的微服务之路系列一
虽然大家都希望所有的应用都尽快迁移到dotnet core 平台之上,然而由于需要重构代码,改造不被dotnet core支持的功能,因此,应用的改造也非一日之功,特别是线上的平台更是如此,如何能够尽快微服务化,以便享受到容器带来的更多优势呢?这个系列让你步入docker的世界…… 搭建环境准备:环境操作系统必须选用 Windows Server 2016 (或更高版本),这里...原创 2019-02-15 11:00:17 · 3493 阅读 · 0 评论 -
微服务通讯协议Thrift的简单化应用
Thrift协议最初由Facebook公司开发,2008年加入Apache开源项目,其通过IDL接口定义语言来实现跨语言服务开发,其支持的开发语言广泛,包括C ++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#, Cocoa,JavaScript,Node.js,Smalltalk,OCaml和Delphi等语言。 Thrift正常开发步骤...原创 2019-02-15 11:05:36 · 2173 阅读 · 0 评论 -
Elasticsearch探秘之旅——偶遇
之前有过一段时间下决心去学大数据相关知识,从R入门,一本书被我从头到尾操作了一遍,并且也尝试了分析简单数据,的确是有幸一窥究竟,然而,数据的世界博大精深,真的不是那么容易入门的,所以终究又放下了,后来一直忙微服务的具体实现,也就不了了之。一个人的精力是有限的,怎么才能快速提升自己的能力呢?困惑中迷茫前行。现在坚定下来,扩展自己的视野,从底层突破和提高,深究原理的实现,才能更快的成长。大数据虽...原创 2019-03-22 09:48:07 · 2217 阅读 · 0 评论 -
Xunit.net 单元测试学习——按顺序测试
最近一直在提高编码的质量,为了保证质量,必须有一套趁手的兵器,Xunit.Net 就是如此霸气的利器。怎么编写单元测试怎么会有如此低级的疑问呢?因为从接触单元测试,到使用上,真的不是一个简单的心路历程,不是不想动手写单元测试,而是非常写单元测试,然而每一次都被需要Mock许多的测试条件而不得不放弃。当然有很多精致的Mock教程,然而感觉都没有能解决心中的疑虑。有幸读了一本关于架构解说的书...原创 2019-03-13 10:33:38 · 5426 阅读 · 3 评论 -
Elasticsearch部署Docker版——五分钟开启属于您的大数据分析及全文扫描
ElasticSearch是一个基于Lucene的搜索服务器,其提供了一个分布式多用户能力的全文搜索引擎,基于RESTful 接口。其用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算 中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。五分钟安装步骤前提条件:您的系统已经安装了Docker环境。开启五分钟之旅!第一步:...原创 2019-03-25 09:34:28 · 2736 阅读 · 0 评论 -
用NodeJs来mock web Api接口
俺的博客都来自工作,因此大部分也是围绕找工作需要展开。虽然前端时间的目标是Go lang,但是工作中暂时要考虑下效率,因此,mock Api的事情暂时先用nodejs搞定吧,这个比较熟!1、环境nodejs安装可以参考上一博客。node -vnpm -v返回既定版本号,就说明安装已经成功了。2、建立web服务mkdir myappcd myappnpm init # 一路回...原创 2018-12-04 10:47:09 · 2392 阅读 · 0 评论