Arganzheng's Blog

stay hungry, stay foolish

关于编码规范的一些建议

1、为什么要编码规范 无规矩不成方圆,无规范不能协作。 在百度,每次代码提交都强制编码规范检查,不通过则不允许提交。 提升编码质量 提升代码的可读性、可测性、可维护性 提升团队开发协作的效率 个人品牌 2、业界大公司的编码规范 谷歌 java编码规范中文版本 java编码规范英文版本: Google Java Style Guide Java编码...

AI基础架构:从大数据到深度学习

背景 这个分享来自于创新工场人工智能工程院副院长王咏刚给创新工场暑期深度学习训练营 DeeCamp的培训课程的第一节课。(ps:这个训练营太火了,只招生 36 名,总共有 1000 多计算机专业同学报名,同学们来自 CMU、北大、清华、交大等最好的大学),后续会给大家讲《TensorFlow 实战》、《自然语言处理》、《机器视觉》、《无人驾驶实战》等框架和算法方向的课。 课件分享:AI ...

微服务架构学习

微服务架构 微服务的概念在2014年3月由Martin Fowler首次提出。 微服务架构解决的核心问题及其相应的开源组件如下所示: RPC框架 (Service-to-service calls) Spring Boot/Spring MVC Dubbo gRPC thrift 服务注册和发现 (Se...

关于微服务架构

我 和 微服务架构 我算是完整的经历了服务端架构发展的整个历程。 09年进入阿里巴巴的时候,那时候整个阿里巴巴就是一个典型的单体应用,整个国际站业务,部署上就三个巨大的单体应用: MyAlibaba:供应商发布编辑管理商品的地方 BOPS: 运营人员审核商品(机器审核+人工审核的一条工作流)、管理类目和属性的运营管理后台。 Aisn: 海外买家浏览搜索商品的地方 数据...

Java各种锁介绍

Lock 接口 VS Synchronized 关键字 在Lock接口出现以前,Java程序是靠synchronized关键字实现锁功能的,而Java SE 5之后,并发包中新增了 Lock 接口(以及相关实现类)来实现锁的功能,它提供了与 Synchronized 关键字类似的同步功能。只是在使用的时候,需要显示地获取和释放锁。虽然它缺少了通过 Synchronized 块或者方法所提供...

kubernetes初体验

一、本地安装部署Kubernetes集群 今天想本地搭建一下k8s环境体验一下。看了一下官方文档 Local-machine Solutions 提供了不少方式。其中大部分资料推荐的都是基于 Minikube 方式搭建。但是这种方式有个蛋疼的地方,就是需要自己先安装一个虚拟机,像 VirtualBox,或者 VMWare Fusion,还要自己安装 kubectl,麻烦。于是试着按照 Do...

获取redis集群信息

redis info 命令只能获取单个实例的信息。写了一个 shell ,可以方便的获取 redis 集群的汇总信息: #!/bin/sh ip=10.21.61.43 port=6379 sum_size=0 sum_mem=0 sum_conn=0 for addr in `redis-cli -p $port -h $ip cluster nodes | awk '{print $...

Redis集群学习

Redis3.0版本加入了cluster功能,解决了Redis单点无法横向扩展的问题。 分布式系统要解决的不外乎以下两个问题: sharding/partition 以提高系统的吞吐率 replication 以提高系统的高可用性 然后因为sharding了,所以就有一个 哈希或者路由 的事情要处理。引入的问题包括: 数据分布方式:取模, 范围映射,一致性哈希, e...

ElasticSearch的节点类型

集群中的每一个ElasticSearch实例都可作为一个节点存在,相同集群名字的节点构成同一个ElasticSearch集群。 默认情况下,集群中的每个节点都可以处理 HTTP 或者 Transport 请求。 其中 transport 层专门用于节点和Java TransportClient之间的通讯;而HTTP层则只供REST客户端使用。 集群中所有的节点都知道集群中其他所有的节点,...

ElasticSearch如何支持深度分页

分布式环境下的分页 ES本身是支持分页查询的,使用方式跟MySQL非常类似: from: Indicates the number of initial results that should be skipped, defaults to 0 size: Indicates the number of results that should be returned, defa...