开发者头条 - RSS Feed

Latest articles

上篇:技术架构的设计方法

阿里巴巴中间件 Weixin ID Aliware_2018 About Feature Aliware阿里巴巴中间件官方账号

go全栈开发框架bud,go语言中的ruby on rails

Bud是一个go语言编写的全栈开发框架,类似ruby on rails,Bud的使命是降低构建、开发和维护web应用的成本。Bud提供了一整套文档完善的、充分测试的工具来降低web应用开发成本。curl -sf https:bud -hbud create hellocd hellolsgo.mod node_modules/ package-lock.json package.json不像其他全栈框架,bud生成的初始代码非常少,再添加依赖之后,bud才会生成所有的代码。用bud run运行项目,开启一个开发模式的Server:bud run| Listening on http:Bud提供了一个标准目录结构:$YOUR_APP├─ bud├─ controller├─ internal├─...

前方高能 | HDFS 的架构,你吃透了吗?

前言        HDFS 是 Hadoop 中存储数据的基石,存储着所有的数据,具有高可靠性,高容错性,高可扩展性,高吞吐量 等特征,能够部署在大规模廉价的集群上,极大地降低了部署成本。有意思的是,其良好的架构特征使其能够存储海量的数据。本篇文章,我们就来系统学习一下,Hadoop HDFS的架构!HDFS架构        HDFS采用 Master/Slave 架构存储数据,且支持 NameNode 的 HA。HDFS架构主要包含客户端,NameNode,SecondaryNameNode 和 DataNode 四个重要组成部分,如图所示:        (1)客户端向NameNode发起请求,获取元数据信息,这些元数据信息包括命名空间、块映射信息及 DataNode 的位置信息等。        (2)NameNode...

深度学习六十年简史

作者|Jean de Dieu Nyandwi来源|机器之心11958 年:感知机的兴起1958 年,弗兰克 · 罗森布拉特发明了感知机,这是一种非常简单的机器模型,后来成为当今智能机器的核心和起源。感知机是一个非常简单的二元分类器,可以确定给定的输入图像是否属于给定的类。为了实现这一点,它使用了单位阶跃激活函数。使用单位阶跃激活函数,如果输入大于 0,则输出为 1,否则为 0。下图是感知机的算法。感知机Frank 的意图不是将感知机构建为算法,而是构建成一种机器。感知机是在名为 Mark I 感知机的硬件中实现的。Mark I 感知机是一台纯电动机器。它有 400 个光电管(或光电探测器),其权重被编码到电位器中,权重更新(发生在反向传播中)由电动机执行。下图是 Mark I 感知机。Mark...

性能提升40倍——线上真实重构案例分享

写在前面这篇文章和大家分享一下最近和团队成员一起重构的围栏服务真实案例分享,二话不说,先上图:重构前后对比(单台docker服务压测结果)对比项QPS平均RTP995耗时说明重构前12050ms800ms压测达到性能瓶颈重构后50005ms50ms压测未到达性能瓶颈重构之后性能提升40倍,效果非常明显。下面分享详细技术方案。技术方案一、背景/现状多次压测反馈,目前线上机器8台docker大概只能支撑1k/QPS, 单机120/QPS。无城市查询围栏场景,会循环判断该业务线下全国的围栏是否命中,耗CPU严重,高峰期性能瓶颈特别明显。二、目标派单围栏服务流程重构,通过派单系统自建空间索引RTree方式, 利用空间换时间的方式,先通过RTree搜索围栏,再判断坐标是否在围栏内。现有资源不变情况下,提升接口性能,并且支持水平扩展。重构方案重构前流程图重构后流程图RTREE数据结构简介:...

[推荐] 大厂的优惠券系统是如何设计的?

JavaEdge . 曾就职于百度、携程、华为、货拉拉等大厂。阿里云社区、Tencent云社区、华为云社区专家博主,51CTO博客专家,慕课网认证作者,掘金年度作者Top100,牛客网著有《Java源码面试解析指南》。

吐血推荐17个提升开发效率的“轮子”

大家好,我是苏三,又跟大家见面了。前言在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下:1. Collections首先出场的是java.util包下的Collections类,该类主要用于操作集合或者返回集合,我个人非常喜欢用它。1.1 排序在工作中经常有对集合排序的需求。看看使用Collections工具是如何实现升序和降序的:  List<Integer> list = new ArrayList<>();  list.add(2);  list.add(1);  list.add(3);  Collections.sort(list);//升序  System.out.println(list);  Collections.reverse(list);//降序  System.out.println(list);执行结果:[1, 2, 3][3, 2,...

携程百亿级缓存系统探索之路——本地缓存结构选型与内存压缩

作者简介 一十,携程资深后端开发工程师;振青,携程高级后端开发专家。一、前言携程酒店查询服务是酒店BU后端的核心服务,主要负责提供所有酒店动态数据计算的统一接口。在处理请求的过程中,需要使用到酒店基础属性信息、价格信息等多维度的数据信息。为了保证服务的响应性能,酒店查询服务对所有在请求过程中需要使用到的相关数据进行了缓存。随着携程酒店业务的发展,查询服务目前在保证数据最终一致性以及增量秒级更新延迟的情况下,在包括服务器本地内存以及Redis等多种介质上缓存了百亿级的数据。本文将主要讨论酒店查询服务技术团队是如何在保证读取效率的前提下,针对存储在服务器本地的缓存数据进行存储结构选型以及优化的过程。 二、内存结构选型为了寻找合适的内存结构以达到理想的效果,本节将详细探讨在通用数据查询场景下,不同类型的数据结构的可行性与优劣势。2.1...

看完这篇异地多活的改造,我决定和架构师battle一下

点击上方蓝色字体,选择“设为星标”回复”学习资料“获取学习宝典1. 简述 异地多活的概念以及为什么要做异地多活这里就不进行概述了。概念性的很多,像什么同城双活、两地三中心、三地五中心等等概念。如果有对这些容灾架构模式感兴趣的可以阅读下这篇文章进行了解:《浅谈业务级灾备的架构模式》。阅读本篇文章之前,我们先明确一下背景,这样大家后续在看的时候就不会产生困惑。1.1 机房划分得物多活改造一期目前有两个机房,分别是机房A和机房B。文章中大部分图中都会有标识,这就说明是两个不同的机房。A机房我们定义为中心机房,也就是多活上线之前正在使用的机房。如果说到中心机房那指的就是A机房。另一个B机房,在描述的时候可能会说成单元机房,那指的就是B机房。1.2 单元化 单元化简单点我们直接就可以认为是一个机房,在这个单元内能够完成业务的闭环。比如说用户进入APP,浏览商品,选择商品确认订单,下单,支付,查看订单信息,这整个流程都在一个单元中能够完成,并且数据也是存储在这个单元里面。做单元化无非就两个原因,容灾和提高系统并发能力。但是也得考虑机房建设的规模和技术,硬件等投入的成本。具体的就不多讲了,大家大概理解了就行。2....

不可错过的程序员续命科技

背景 去年 5 月曾经写了一篇文章介绍了下 Lex Fridman 大佬的日常生活安排,后续我也根据他的方法对自己的日常生活做了一系列规范和改进。这一年整体实行下来,效果还是非常显著的,本文的最后会对我的一些实践以及借助的工具做一些分享。 最近几个月,偶然在油管上看到了个 Rich Roll 采访 Andrew Huberman 的 podcast,介绍了如何提升我们日常工作,学习表现的相关神经科学原理与可以利用的“工具”,瞬间打开了一扇新世界的大门。后续又一连追了好几集 Huberman 自己的 podcast,从各个方面了解了一下跟我们日常生活,健康,学习,工作,锻炼等方面相关的知识。与其它很多讲“养生”的文章和视频最大的区别在于,Huberman 本身是斯坦福的神经科学教授,其中讲述的内容都是来自于高质量,peer...

Discover, share and read the best on the web

Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!