架构文摘
文章平均质量分 78
huangshulang1234
这个作者很懒,什么都没留下…
展开
-
构建流式计算卖家日志系统应用实践
构建流式计算卖家日志系统应用实践引言本文给大家讲述的是我们如何去构建一个日志系统,用到了哪些技术,为什么用这些技术,并且讲述了遇到的问题及优化的过程,希望给大家在实践中能够提供一些参考。最近在维护一个有关于日志的项目,这个项目是负责收集、处理、存储、查询京东卖家相关操作的日志,我们这里就叫它“卖家日志”。在日常的开发过程中,可能我们对日志这个词并转载 2017-11-19 09:43:35 · 550 阅读 · 0 评论 -
后端必须了解的密码学技术
后端必须了解的密码学技术对称加密与非对称加密按照密钥的使用形式,加密算法可以分为对称加密和非对称加密(又叫公钥加密)。对称加密在加密和解密的过程中,使用相同的秘钥;而非对称加密在加密过程中使用公钥进行加密,解密使用私钥。对称加密的加密和解密需要使用相同的密钥,所以需要解决密钥配送问题。非对称加密的处理速度远低于对称密钥转载 2017-11-19 09:43:55 · 562 阅读 · 0 评论 -
基于Java、Kafka、ElasticSearch的搜索框架的设计与实现
基于Java、Kafka、ElasticSearch的搜索框架的设计与实现Jkes是一个基于Java、Kafka、ElasticSearch的搜索框架。Jkes提供了注解驱动的JPA风格的对象/文档映射,使用Rest API用于文档搜索。项目主页:https://github.com/chaokunyang/jkes安装可以参转载 2017-11-29 09:22:28 · 541 阅读 · 0 评论 -
高并发下的抽奖优化
高并发下的抽奖优化一、项目思考由于项目发起了一个抽奖活动,发起活动之前给所有用户发短信提示他们购买了我们的产品有抽奖权益。然后用户上来进入抽奖页面点击爆增,过了一会儿页面就打不开了。后面查看了下各种日志,发现了瓶颈在数据库,由于读写冲突严重,导致响应变慢,有不少连接都超时了。后面看到监控和日志留下的数据,发现负责抽奖的微服务集群qps暴涨12倍,db的qps也涨了1转载 2017-11-29 09:22:51 · 376 阅读 · 0 评论 -
哔哩哔哩大数据采集服务—Lancer系统设计与实践
哔哩哔哩大数据采集服务—Lancer系统设计与实践哔哩哔哩(以下简称B站)的日志采集肩负了B站的所有业务的日志收集并传输,提供离线数据和实时数据以满足离线或实时计算以及业务方订阅的需求。B站日志收集系统是基于Flume设计和搭建而成的。数据采集是大数据的基石,近几年随着业务的高速增长,产生的数据量越来越大,并且会持续快速增长。因而对采集系统的实时性,稳定性以转载 2017-11-29 09:23:05 · 1787 阅读 · 0 评论 -
王垠回国商业计划:新型数据库、智商税、城市设计和家居设计顾问、非技术书籍
王垠回国商业计划:新型数据库、智商税、城市设计和家居设计顾问、非技术书籍世界上有两种有才华的人,一种热爱自己的事业,愿意为之付出一切;另一种热爱自己的才华,任何的事业只是展示才华的舞台。或许王垠是后者,但不妨碍看到有才华人的一些思考。本文是他博客刚更新的一篇,分享给大家。 来源:当然我在扯淡, 作者:王垠, 点击“阅读原文” 查看原文。转载 2017-11-29 09:23:30 · 823 阅读 · 0 评论 -
总架构师眼里的架构和架构师的成长之道
总架构师眼里的架构和架构师的成长之道特约记者:卢亿雷,精硕科技(AdMaster)技术副总裁兼总架构师,CCF(中国计算学会)大数据专委委员,北京航空航天大学特聘教授。受访嘉宾:邓就庆(Jack),FreeWheel高级副总裁兼总架构师,拥有清华大学计算机科学学士和硕士学位。目前,他带领一支架构师团队全面负责设计和实施FreeWheel的核心系统,包括广告服务器以及报告、预转载 2017-11-29 09:23:49 · 431 阅读 · 0 评论 -
微服务架构下的安全认证与鉴权
微服务架构下的安全认证与鉴权从单体应用架构到分布式应用架构再到微服务架构,应用的安全访问在不断的经受考验。为了适应架构的变化、需求的变化,身份认证与鉴权方案也在不断的变革。面对数十个甚至上百个微服务之间的调用,如何保证高效安全的身份认证?面对外部的服务访问,该如何提供细粒度的鉴权方案?本文将会为大家阐述微服务架构下的安全认证与鉴权方案。一、单体应用 VS 微转载 2017-11-29 09:24:17 · 408 阅读 · 0 评论 -
十六个有用的Linux命令行技巧
十六个有用的Linux命令行技巧我们每天都会使用Linux命令行,但由于实践不多,我们可能会忘记一些Linux命令行技巧。在本文中,我将向你展示一些你可能会忘记或可能对你来说较新的Linux命令行技巧。现在让我们开始吧。1. 将输出显示为表格由于字符串过于拥挤,有时候读取输出是很痛苦的,比如mount命令的结果,那么如何像表格一样查看输出呢?转载 2017-11-29 09:24:35 · 415 阅读 · 0 评论 -
大数据处理框架的类型、比较和选择
大数据处理框架的类型、比较和选择前言说起大数据处理,一切都起源于Google公司的经典论文:《MapReduce:Simplied Data Processing on Large Clusters》。在当时(2000年左右),由于网页数量急剧增加,Google公司内部平时要编写很多的程序来处理大量的原始数据:爬虫爬到的网页、网页请求日志;计算各种类型的派生数据:倒转载 2017-11-29 09:24:51 · 1218 阅读 · 0 评论 -
面向大数据的分布式调度
面向大数据的分布式调度【前言】大数据的分布式调度是在进行数据ETL过程中起到了总体的承上启下的角色,整个数据的生产、交付、消费都会贯穿其中,本文从调度、分布式调度的特征展开,再对大数据调度个性化特征的一些阐述,由满足大数据使用的架构和业务场景的需求上娓娓道来,从实践的角度分享如何打造一个高可用、高效率、灵活性的大数据调度平台。一、调度从上转载 2017-11-29 09:25:19 · 393 阅读 · 0 评论 -
ASP.NET Core 企业级开发架构简介及框架汇总
ASP.NET Core 企业级开发架构简介及框架汇总企业开发框架包括垂直方向架构和水平方向架构。垂直方向架构是指一个应用程序的由下到上叠加多层的架构,同时这样的程序又叫整体式程序。水平方向架构是指将大应用分成若干小的应用实现系统功能的架构,同时这样的系统叫做分布式系统。在架构上Java和.Net世界都有优秀的框架支持构建垂直和水平方向架构。ASP.Net Core非常轻量且具转载 2017-11-20 09:14:29 · 13948 阅读 · 0 评论 -
分布式系统的时间
分布式系统的时间事件的顺序大家都知道,Linearizability在一些系统(譬如分布式数据库)里面是非常重要的,我们不能允许数据更新之后仍然能读到原先的值,譬如银行转账,用户A有100元,转给用户B 10元,这个操作之后用户A只可能有90元了,但如果A后续发起了另一个转账请求给C转10元的时候,事务里面读到A的余额仍然是100元,这个问题就大了。一个更简转载 2017-11-20 09:15:02 · 566 阅读 · 0 评论 -
高并发和高可用的一点思考
高并发和高可用的一点思考本文的架子参考张开涛的《亿级流量网站架构核心技术》这本书分为四个部分:指导原则,高可用,高并发,实践案例。这篇文章说一说前三个部分,大部分内容都是我自己的思考,书只作为参考。指导原则书中所列举的,里有一些可能并不是原则,而是技巧。我理解的原则如下:高并发原则:1. 无状态设计转载 2017-11-20 09:16:19 · 1015 阅读 · 0 评论 -
Java高并发,如何解决,什么方式解决
Java高并发,如何解决,什么方式解决对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1. 同步和转载 2017-11-20 09:16:48 · 330 阅读 · 0 评论 -
《高可用架构》:标引一线架构风向(留言送书)
《高可用架构》:标引一线架构风向(留言送书)榨干持续服务潜能 标引一线架构风向成为一名优秀的架构师需要很多条件,比如扎实的编程理论基础,对软件运作的原理以及算法的深入理解;需要有丰富的实践,能够将理论与实际相结合。除此之外,从他人优秀的实践经验中学习,或许是成为优秀架构师最有效的方法。笔者在开发微博之初,国内并没有类似社交网络的技术经验,但在国外,Facebook转载 2017-11-20 09:17:06 · 351 阅读 · 0 评论 -
浅谈数据分库分表之道
浅谈数据分库分表之道为什么讨论分库分表在服务器后端技术人员的成长路线上,分片(Sharding)思想的理解和把握是绕不过去的门槛,而数据库分库分表可能是讲述拆分思想最好的教材,大部分后端技术人员都会在成长过程中遇到这样的问题。为什么讲道,因为道比术重要一万倍。技术浪潮一波一波在推动社会的前进,新的技术雨后春笋,简单且朴实的道理,更长久也更朴实且普转载 2017-11-20 09:17:29 · 217 阅读 · 0 评论 -
2017的金秋,派卧底去阿里、京东、美团、滴滴带回来的面试题及答案
2017的金秋,派卧底去阿里、京东、美团、滴滴带回来的面试题及答案最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的。我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,用来回来这些面试题。很多问题其实答案很简单,但是背后转载 2017-11-20 09:18:12 · 497 阅读 · 0 评论 -
线上系统性问题定位与方法论
线上系统性问题定位与方法论前言一线程序员在工作中经常需要处理线上的问题或者故障,但工作几年下来发现,有些同事其实并不知道该如何去分析和解决这些问题,毫无章法的猜测和尝试,虽然在很多时候可以最终解决问题,但往往也会浪费大量的时间,时间就是金钱,对线上系统而言甚至是生命。本文讲什么:本文尝试将本人工作过程中对线上问题的处理经验加以总结精炼,并给出一套转载 2017-11-20 09:18:54 · 684 阅读 · 0 评论 -
转转数据库设计与实践
转转数据库设计与实践转转业务使用MySQL数据库作为后台存储,存储引擎使用InnoDB。我们针对转转自身业务特点及MySQL数据库特性,讲述在具体业务场景中如何设计表。本文从介绍MySQL相关基础知识入手,结合实际案例介绍表和索引的设计技巧。 基础知识 InnoDB记录存储方式大家都知道在InnoDB存储引擎中记录是按主键顺序转载 2017-11-20 09:19:14 · 397 阅读 · 0 评论 -
一篇文章讲清楚人工智能、机器学习和深度学习的区别与联系
一篇文章讲清楚人工智能、机器学习和深度学习的区别与联系人工智能的浪潮正在席卷全球,诸多词汇时刻萦绕在我们耳边:人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)。不少人对这些高频词汇的含义及其背后的关系总是似懂非懂、一知半解。为了帮助大家更好地理解人工智能,这篇文章用最简单的语言解释了转载 2017-11-20 09:19:36 · 880 阅读 · 0 评论 -
从运维角度看中大型网站架构的演变之路
从运维角度看中大型网站架构的演变之路网上有很多文章类似于我今天要分享的内容,有架构师写的,有运维写的,还有开发些的,偏重点都不同,今天我将从运维角度全面讲解。一个成熟的网站架构并不是一开始设计就具备高可用、高伸缩、高性能等特性的,它是随着用户量和业务线不断增加,基础架构才逐渐健壮的。在发展初期,一般都是从0到1,不会一上来就整一些大而全的架构,也很少人这么任性。转载 2017-11-29 09:25:52 · 280 阅读 · 0 评论 -
成为Java高级架构师必看的15本书
成为Java高级架构师必看的15本书作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。Java编程入门类对于没有Java编程经验的程序员要入门,随便读什么入门书籍都转载 2017-11-30 09:15:53 · 480 阅读 · 0 评论 -
分布式架构的演进
分布式架构的演进荐书进行时荐书:《分布式服务架构:原理、设计与实战》(留言送书)系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序、数据库、文件等所有的资源都在一台服务器上。描述:通常服务器操作系统使用linux,应用程序使用PH转载 2017-11-30 09:16:15 · 211 阅读 · 0 评论 -
荐书:《分布式服务架构:原理、设计与实战》
荐书:《分布式服务架构:原理、设计与实战》全面介绍分布式服务架构的原理与设计给出保障线上服务健康、可靠的至佳方案 自互联网诞生以来,其简单、敏捷的微服务架构开发理念和实践逐渐成为主流,在逐渐发展的环境下和技术演化的过程中,迅速突破互联网行业并波及软件行业的各个领域。然而,这种突飞猛进的表面下却是龙鱼混杂、泥沙俱下。一方面,很多人在这个信息转载 2017-11-30 09:16:35 · 8016 阅读 · 4 评论 -
架构师的素养
架构师的素养优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。扫描下方二维码,注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会:软件架构师的首要关转载 2017-11-30 09:16:49 · 284 阅读 · 0 评论 -
为什么微服务实施那么难?如何高效推进微服务架构演进
为什么微服务实施那么难?如何高效推进微服务架构演进【前言】笔者从 2013 年加入 ThoughtWorks 至今共 4年时间。在这 4 年的时间里,我分别以 开发人员, DevOps 工程师、DevOps 咨询师、微服务架构师以及微服务咨询师的角色参与了共计 7 个产品和项目的微服务咨询和实施。其中有有成功,有失败,有反思,更多的是学习和总结。以下是我这些年来在微服务咨询上的转载 2017-11-30 09:17:19 · 352 阅读 · 0 评论 -
从软件工程角度看大前端技术栈
从软件工程角度看大前端技术栈优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。扫描下方二维码,注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会:我转载 2017-11-30 09:17:36 · 4038 阅读 · 1 评论 -
多场景业务建模系统
多场景业务建模系统背景在介绍整套方案之前,一定先要介绍ED目前是从事的是互联网金融开发,因为我们的整套方案设计,确实跟行业属性有密切的关系,这套方案大概已经积累了1年多了,在日常开发过程中我们的业务有如下特点:首先每个月几乎都有新场景的开发工作新场景中有60%的需求是一样的,也有40%是不太一样的我们的产品大致分为转载 2017-11-30 09:17:53 · 1009 阅读 · 1 评论 -
普通程序员如何向人工智能方向转型?
普通程序员如何向人工智能方向转型?优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。扫描下方二维码,注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会:转载 2017-11-30 09:18:46 · 449 阅读 · 0 评论 -
值得收藏的27个机器学习的小抄
值得收藏的27个机器学习的小抄机器学习有很多方面,当我开始研究学习它时,我发现了各种各样的“小抄”,它们简明地列出了给定主题的关键知识点。最终,我汇集了超过 20 篇的机器学习相关的小抄,其中一些我经常会翻阅,而另一些我也获益匪浅。这篇文章里面包含了我在网上找到的 27 个小抄,如果你发现我有所遗漏的话,请告诉我。机器学习领域的变化是日新月异的,我想这些可能很快转载 2017-11-30 09:19:10 · 502 阅读 · 0 评论 -
高可用的一些思考和理解
高可用的一些思考和理解在目前的互联网大时代,在高并发等冲击下,还必须保证服务高可用,如果服务不高可用那么意味着:系统不是7*24小时提供服务,那么用户体验就特别差了,可能用户下次不用了,留不住用户。当系统不可用的时候,对公司的形象是有所影响的,BAT类似这种技术都是象征的。最重要的一点,当系统不可用的时候,直接损失就是金钱!!!基本都转载 2017-11-21 09:04:05 · 337 阅读 · 0 评论 -
系统学习Java高并发
系统学习Java高并发JAVA服务端或者后端需要大量的高并发计算,所以高并发在JAVA服务端或者后端编程中显的格外重要了。首先需要有几个概念:1. 同步和异步同步异步是来形容方法的一次调用的,同步必须等等方法调用结束后才可以继续后续的操作,而异步方法调用就会返回(真正的执行一般在另外一个线程中)就可以继续后续操作了。转载 2017-11-21 09:04:38 · 289 阅读 · 0 评论 -
消息中间件NSQ深入与实践
消息中间件NSQ深入与实践1. 介绍最近在研究一些消息中间件,常用的MQ如RabbitMQ、ActiveMQ、Kafka等。NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,由bitly公司开源出来的一款简单易用的消息中间件。官方和第三方还为NSQ开发了众多客户端功能库,如官方提供的基于HTTP的nsqd、Go客户端转载 2017-11-21 09:05:00 · 1452 阅读 · 0 评论 -
Redis Cluster深入与实践
Redis Cluster深入与实践1. Redis介绍www.redis.ioredis是一个基于内存的K-V存储数据库。支持存储的类型有string,list,set,zset(sorted set),hash等。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。redis支持各种转载 2017-11-21 09:05:17 · 279 阅读 · 0 评论 -
DevOps的八荣八耻
DevOps的八荣八耻被群里的好友安利了一发,周日跑去参加了一个技术讲座《云上开发与运维最佳实践》,听完两个人的演讲之后才发现主题竟然是讲运维,好在有一个人干货不少,在此记录下所得。简单追溯了一下这个DevOps才发现并不是一个新的概念,早在2010年就能看到有相关的人在追捧这个概念了。DevOps 就是开发(Development)和运维(Operations)这两个领域的合并。(如转载 2017-11-21 09:05:34 · 313 阅读 · 0 评论 -
从架构理解价值-我的软件世界观
从架构理解价值-我的软件世界观程序员的迷茫-找寻不到价值在浩大的软件世界里,作为一名普通程序员,显得十分渺小,甚至会感到迷茫。我们内心崇拜技术,却也对日新月异的技术抱有深深的恐惧。技术市场就像这喜怒不定的老天爷,今天下个大数据雨,明天挂个人工智能风,面对琳琅满目的技术浪潮的冲击,程序员难免深感无力,深怕错过了技术潮流从而失去了职场竞争力。有时候我会思考难道在技术领域内不转载 2017-11-21 09:06:17 · 334 阅读 · 0 评论 -
从经济学博士到爬坑机器学习十年,微软首席数据科学家谢梁的AI故事
从经济学博士到爬坑机器学习十年,微软首席数据科学家谢梁的AI故事谢梁,美国微软总部首席数据科学家,本科毕业于西南财经大学经济学专业,然后在中国工商银行从事信贷评估工作,一年后辞职到纽约州立大学学习应用计量经济学。研究兴趣主要是混合模型(mixed model)和数据挖掘方法,以及 SAS 潜力的挖掘(他认为在各大 SAS 论坛帮人解决问题同时学习他人经验,是提升自己最快的途径,曾用转载 2017-11-21 09:06:54 · 861 阅读 · 0 评论 -
高性能负载均衡设计与实现
高性能负载均衡设计与实现摘要: 2017阿里云网络技术高峰论坛在线技术峰会,阿里云卫峥带来题为高性能负载均衡设计与实现的演讲。本文主要从早期的负载均衡开始谈起,进而讲解了高性能负载均衡,着重分析了LVS和Tengine,以及如何做到高可用,最后作了简要总结。以下是精彩内容整理:负载均衡负载均衡是云计算的基础组件,是网络转载 2017-11-21 09:07:21 · 344 阅读 · 0 评论 -
高并发下的下单功能设计
高并发下的下单功能设计功能需求:设计一个秒杀系统初始方案商品表设计:热销商品提供给用户秒杀,有初始库存。@Entitypublic class SecKillGoods implements Serializable{ @Id private String id; /**转载 2017-11-21 09:07:43 · 366 阅读 · 0 评论