-
K8s集群架构与高可用解析
所属栏目:[优化] 日期:2019-09-12 热度:76
基本工作过程 Kubernetes 的核心工作过程: 资源对象:Node、Pod、Service、Replication Controller 等都可以看作一种资源对象 操作:通过使用 kubectl 工具,执行增删改查 存储:对象的目标状态(预设状态),保存在 etcd 中持久化储存; 自动控制:跟踪、对[详细]
-
同样是高并发,QQ/微博/12306的架构难度一样吗?
所属栏目:[优化] 日期:2019-09-12 热度:183
开篇同一个用户并发扣款时,有一定概率出现数据不一致,可以使用CAS乐观锁的方式,在不降低吞吐量,保证数据的一致性: UPDATEt_yueSETmoney=$new_money WHEREuid=$uidANDmoney=$old_money; 更详细的描述,详见《并发扣款,如何保证数据的一致性?》。 不能[详细]
-
浏览 GitHub 太卡了?教你两招
所属栏目:[优化] 日期:2019-09-12 热度:51
老实说,GitHub 在国内的使用体验并不算太好,这其中很大的原因就是网络了。 GitHub 访问起来比较卡,这个看起来貌似无解。国内的 gitee 网速倒是可以,但是无法代替 GitHub,个人感觉 gitee 上还是开源项目多一些,工具类库要少一些。 在网络比较卡的情况[详细]
-
微服务架构中常用的解决方案,总结了传统服务发现方案
所属栏目:[优化] 日期:2019-09-12 热度:110
正常情况下当我们要访问服务时需要知道服务实例地址和端口,如果服务实例地址和端口都是固定的我们可以直接将其配置在文件中使用,但大多数线上生产环境尤其容器部署情况下服务实例地址都是动态分配的,只有当服务实例实际部署之后才能获得地址,服务调用[详细]
-
理解微服务的定义,概念以及微服务的原理
所属栏目:[优化] 日期:2019-09-12 热度:101
微服务是业界比较新的流行语,似乎每个人都在以这样或那样的方式谈论它。让我们理解一下什么是微服务?通过这篇教程我们将理解微服务的定义,概念以及微服务的原理。 微服务的定义 如今,微服务是SOA(面向服务的架构)之后越来越流行的架构模式之一,如果您[详细]
-
教师节送什么?Python教你挑选礼物
所属栏目:[优化] 日期:2019-09-12 热度:84
又到了一年一度的教师节,每次教师节大家都会烦恼不知道送什么礼物?尤其是对于理工男来说,更是一个让人头大的问题。我今天就和大家分享一个用Python爬取淘宝商品信息的项目,希望可以给大家选礼物时提供一个参考。 1.爬取目标 本次项目利用selenium抓取淘[详细]
-
GitHub 宣布已经顺利升级到 Rails 6.0
所属栏目:[优化] 日期:2019-09-12 热度:107
GitHub 宣布它顺利升级到了 Rails 6.0。GitHub 平台是用 Rails 构建的,而 Rails 也是最早托管在 GitHub 上大型开源项目之一。GitHub 称他们的开发者与上游紧密合作,参与了新版本的开发。 在 Rails 6.0 开发期间,GitHub 工程师递交了 100 多个 pull requ[详细]
-
计算机组成原理:计算机的层次与编程语言
所属栏目:[优化] 日期:2019-09-11 热度:157
计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识。关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都[详细]
-
Python 2大限来了!113天后自生自灭 | 附升级指南
所属栏目:[优化] 日期:2019-09-11 热度:198
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 Python 2终于走到了尽头。 官方宣布,新一年的钟声响起之时(2020年1月1日),就是Python 2落幕之日。 之后,Python 2自生自灭,就算天塌下来,官方也不会再改进了。 他们解释称,并不[详细]
-
一篇文章让你了解 MVC、MVP 、MVVM
所属栏目:[优化] 日期:2019-09-11 热度:61
MVC MVC全名是Model--View--Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中Model层处理[详细]
-
如何打造应对超大流量的高性能负载均衡?
所属栏目:[优化] 日期:2019-09-11 热度:80
负载均衡 负载均衡是云计算的基础组件,是网络流量的入口,其重要性不言而喻。 什么是负载均衡呢?用户输入的流量通过负载均衡器按照某种负载均衡算法把流量均匀地分散到后端的多个服务器上,接收到请求的服务器可以独立的响应请求,达到负载分担的目的。从[详细]
-
云时代的编程语言 Ballerina:轻松创建跨分布式端的弹性服务
所属栏目:[优化] 日期:2019-09-11 热度:199
Ballerina 是一种编程语言和平台,它的目标是让创建跨分布式端的弹性服务变得更轻松。Ballerina 使用分布式系统原语的编译时抽象,这为数据转换提供了类型安全性,编译器可以生成诸如用于将应用部署到 Docker 和 Kubernetes 的 API 网关等构件。 此外,Bal[详细]
-
Java工程师必须搞明白:BeanFactory与FactoryBean是个啥?
所属栏目:[优化] 日期:2019-09-11 热度:62
1.前提概要 很多java开发者在使用Spring框架中都见过后缀为FactoryBean的类,比如Mybatis-Spring中的SqlSessionFactoryBean。说到这里就不得不提BeanFactory。FactoryBean和BeanFactory特别容易让人混淆,面试还经常问到这两种概念。其实它们的作用和使用[详细]
-
Java随机数的陷阱
所属栏目:[优化] 日期:2019-09-11 热度:134
前言 随机数我们应该不陌生,业务中我们用它来生成验证码,或者对重复性要求不高的id,甚至我们还用它在年会上搞抽奖。今天我们来探讨一下这个东西。如果使用不当会引发一系列问题。 Java中的随机数 我们需要在Java中随机生成一个数字。java开发中我们通常[详细]
-
如何在Ubuntu上安装和使用R语言
所属栏目:[优化] 日期:2019-09-11 热度:184
这个教程指导你如何在 Ubuntu 上安装 R 语言。你也将同时学习到如何在 Ubuntu 上用不同方法运行简单的 R 语言程序。 R,和 Python 一样,它是在统计计算和图形处理上最常用的编程语言,易于处理数据。随着数据分析、数据可视化、数据科学(机器学习热)的[详细]
-
使用Python为中秋节绘制一块美味的月饼
所属栏目:[优化] 日期:2019-09-11 热度:174
对于在外的游子,每逢佳节倍思亲。而对于996ICU的苦逼程序猿们,最期待的莫过于各种节假日能把自己丢在床上好好休息一下了。这几天各公司都陆续开始发中秋礼品了。朋友圈各种秀高颜值的月饼,所以今天我也提前给大家送去一份中秋的美味月饼吧! python turt[详细]
-
企业Docker实施面面观
所属栏目:[优化] 日期:2019-09-11 热度:196
概述 当下Docker容器化的架构备受欢迎,越来越多的企业开始利用容器来构建自己的基础架构。通常是自己建立了Docker注册表,部署在服务器上安装Docker,安装Jenkins通过Docker插件Jenkins CI管道管理Docker容器。更大一点规模的则会使用K8S或者Swarm编排集[详细]
-
编程语言Nim 中文官网现已上线
所属栏目:[优化] 日期:2019-09-09 热度:121
近期 Nim 中文官网现已上线!大家可以通过https://nim-lang-cn.org来访问。 Nim 是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nim 从 Lisp 继承来的一个特殊特性--抽象语法树(AST)作为语言规范的[详细]
-
Linux运维会被淘汰吗?
所属栏目:[优化] 日期:2019-09-07 热度:188
1. 前言 本文主要探讨Linux运维技术人员会被淘汰吗? 社会上最近会出现这样的一些想法和声音。源于现在流行自动化运维技术,比如以下的3种自动化运维工具。 2. 自动化运维工具取代一部分人力 2.1 自动化运维之Devops Devops的口号喊了很多年,但一直到今年[详细]
-
基于分布式系统的7种唯一ID实现方案,值得收藏
所属栏目:[优化] 日期:2019-09-07 热度:117
概述 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。 分布式ID的特性 唯一性:确保生成的ID是全网唯一的。 有序[详细]
-
Python开发必备:如何建立一个优秀的项目工程环境
所属栏目:[优化] 日期:2019-09-07 热度:105
在程序开发时候一套好的开发环境和工具栈,可以帮我们极大的提高开发的效率,避免把大量时间浪费在周边琐事上。本文以Python为例,教大家如何快速打造优秀的Python项目开发环境:内容涵盖了模块依赖管理、代码风格管理、调试测试管理和Git版本管理,使用gi[详细]
-
如何在 Linux 上重命名一组文件
所属栏目:[优化] 日期:2019-09-07 热度:155
几十年来,Linux 用户一直使用 mv 命令重命名文件。它很简单,并且能做到你要做的。但有时你需要重命名一大组文件。在这种情况下,rename 命令可以使这个任务更容易。它只需要一些正则表达式的技巧。 与 mv 命令不同,rename 不允许你简单地指定旧名称和新[详细]
-
一文看懂数据结构中的树 值得收藏
所属栏目:[优化] 日期:2019-09-07 热度:59
通常在开始学编程的时候,你会接触一些常用数据结构。 到最后一般会学到哈希表。对于修读计算机科学学位的朋友,你通常要上专门的数据结构课,从了解有关链表、队列和栈的各种知识。这些统称为线性数据结构,因为依逻辑次序从头排到尾。 当你开始进入下一[详细]
-
如何在磁盘上查找 MySQL 表的大小
所属栏目:[优化] 日期:2019-09-07 热度:103
我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 这个看似简单的问题实际上在 MySQL 中非常复杂。MySQL 支持许多存储引擎(其中一些根本不在磁盘上存储数据), 不同的存储数据格[详细]
-
细说Python的Lambda函数用法,建议收藏
所属栏目:[优化] 日期:2019-09-07 热度:93
在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式。 1.为什么要用lambda函数? 先举一个例子:将一个列表里的每个元素都平方。 先用def[详细]