技术原理

从0开始学架构

▼魔方 西西 提交于 2019-11-30 19:43:43
微服务架构实战160讲 其它学习课程目录: 从0开始学微服务 面试官绝杀:系统是如何支撑高并发的? 分布式技术原理与算法解析 消息队列高手课 从0开始学架构 微服务 一种架构模式,提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(RESTful API)。每个服务都围绕着具体的业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。 结构图: 来源: https://www.cnblogs.com/it-chen/p/11637928.html

大数据技术复习常见问题

爱⌒轻易说出口 提交于 2019-11-30 18:08:05
1. 使用mr,spark ,spark sql编写 word count 程序 (1) mr public class WordCount { public static class TokenizerMapper extends Mapper < Object , Text , Text , IntWritable >{ private final static IntWritable one = new IntWritable( 1 ); private Text word = new Text(); public void map (Object key, Text value, Context context ) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasMoreTokens()) { word.set(itr.nextToken()); context.write(word, one); } } } public static class IntSumReducer extends Reducer < Text , IntWritable , Text , IntWritable

思考:一个技术或者一个开源软件的难点是什么?最大的风险是什么?

a 夏天 提交于 2019-11-30 01:35:57
思考:一个技术或者一个开源软件的难点是什么?最大的风险是什么? 我觉得第一个难点是使用,而更大的难点和风险是如何运维,特别是在线(不能间断的)服务(如果使用了这个软件); 为什么? 因为就像车一样,开车,各种各样的车,学会开是第一个难点,但是如果车上没有懂车的人,那么车在高速上坏了怎么办, 想要自己修,就得懂车的原理了; 同样,想要运维好软件,需要了解它的原理(或者你有成功修理过的经验); 来源: https://www.cnblogs.com/big1987/p/11544154.html

技术分享 | gh-ost 原理剖析

旧城冷巷雨未停 提交于 2019-11-30 01:21:02
作者简介: 杨奇龙,网名“北在南方”,7年DBA老兵,目前任职于杭州有赞科技DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优、故障诊断。 一、简介 上一篇文章 (gh-ost 在线 ddl 变更工具) 介绍 gh-ost 参数和具体的使用方法、核心特性(可动态调整暂停)、动态修改参数等等。本文分几部分从源码方面解释 gh-ost 的执行过程,数据迁移,切换细节设计。 二、原理 2.1 执行过程 本例基于在主库上执行 DDL 记录的核心过程。核心代码在 github.com/github/gh-ost/go/logic/migrator.go 的 Migrate() func (this *Migrator) Migrate() //Migrate executes the complete migration logic. This is the major gh-ost function. 1.检查数据库实例的基础信息 a 测试db是否可连通, b 权限验证 show grants for current_user() c 获取binlog相关信息,包括row格式和修改binlog格式后的重启replicate select @@global.log_bin, @@global.binlog_format select @@global.binlog_row

分布式架构理论篇

拟墨画扇 提交于 2019-11-29 23:11:25
大型分布式系统原理概述 分布式系统三要素 ​ CPU:处理器 ​ Memory:内存 ​ IO:外存 ​ MultiCore:多核心 ​ LocalDisk:本地磁盘 ​ Networker:网络,网络存储 ​ RDMA:远程内存直接访问 ​ NUMA:分布式系统CPU和内存进行整合,对内存进行捆绑,是硬件层级的,(相似与ThreadLocal,将数据和实时运行线程绑定到一起),网卡直接绕过CPU共享内存,速度非常快 ​ 分布式系统三要素的进化 ​ 桌面级八核心十六线程CPU于2014年诞生,2015年Intel预计发布18核心桌面级CPU ​ NUMA在大中型系统上一直非常盛行,NUMA能很好提升系统吞吐能力,特别对于Java以及数据这样占用大内存的系统,但一直以来没有得到 DBA 们足够的重视、 Java领域也很少有人研究 ​ RDMA(远程内存直接访问,网络传输协议,类似TCP,更低延迟)是超高性能计算UHPC的重要基础之一,而Direct Socket Protocol (SDP)作为RDMA的传输协议已经在很多关键领域取代了TCP,Java7也正式开始支持SDP,跨入了UHPC的领地。 ​ IO方面,万兆网正在崛起,万兆网的ISCSI存储, 单通道可达到500MB/s, 每秒500,000个IO能力,而目前主流的SSD硬盘的速度是400-550MB/s。 ​ ===

大数据技术原理与运用知识

末鹿安然 提交于 2019-11-29 22:21:49
一·大数据概述 随着信息技术发展的巨大变革,企业和学术机构纷纷加大技术、资金和人员投入,加强对大数据关键技术的研发与运用。 大数据的发展历程总体上划分为三个重要阶段:萌芽期、成熟期和大规模应用期。 二.大数据概念 大数据的4个特点:数据量大、数据类型繁多、处理速度快和价值密度低。 三.大数据与云计算、物联网的关系 大数据为云计算机提供了用武之地,云计算为大数据提供了技术基础。 物联网是大数据的重要来源,大数据技术为物联网数据分析提供支撑。 云计算为物联网提供海量数据存储能力,物联网为云计算技术提供了广阔的应用空间。 四.大数据处理架构Hadoop 1.Hadoop简介 Hadoop 是 Apache 旗下的一个开源分布式计算平台。是基于 Java 语言开发的,具有很好的跨平台性,并可以部署在一般的计算机集群中。 Hadoop 的核心是分布式文件系统 HDFS 和 MapReduce 。 HDFS 具有较高的读写速度、很好的容错性和可伸缩性,很好的保证了数据的安全性。 其中 YARN 是资源调动, MapReduce 是计算框架。 2.Hadoop的特性 高可靠性、高效性、高扩展性、容错性、成本低、运行在Linux平台上、支持多种编程语言。 3.Hadoop生态圈 /*图片来源于网络*/ 来源: https://www.cnblogs.com/sokodomo/p/11537695

搭建Eureka高可用集群注册中心

天大地大妈咪最大 提交于 2019-11-29 17:41:56
第一节-SpringCloud服务注册与发现课程概述 第二节-微服务服务治理技术概述 第三节-服务注册与发现原理 第四节-Eureka2.0服务注册中心 第五节-搭建服务提供者注册到Eureka 第六节-使用RestTemplate调用服务接口 第七节-@LoadBalanced实现本地负载均衡 第八节-Eureka2.0高可用集群环境搭建 第九节-客户端调用Eureka2.0集群环境 来源: CSDN 作者: 敲代码的唐僧 链接: https://blog.csdn.net/weixin_45017862/article/details/94397754

【转载】大数据面试知识图谱

自作多情 提交于 2019-11-29 13:23:09
来源:大数据技术与架构 公众号 作者:机智的王知先 场景描述:大数据开发岗位技能树,学习和复习总纲。 关键词:面试 大数据 大纲 正所谓,无招胜有招。 愿读到这篇文章的技术人早日明白并且脱离技术本身,早登彼岸。 一切技术最终只是雕虫小技。 大纲 本系列主题是大数据开发面试指南,旨在为大家提供一个大数据学习的基本路线,完善数据开发的技术栈,以及我们面试一个大数据开发岗位的时候,哪些东西是重点考察的,这些公司更希望面试者具备哪些技能。 本文不会对某一个知识点进行详细的展开,后续会陆续出专题文章,希望读者能当成一个学习或者复习的大纲,用以查漏补缺。 语言基础篇 Java基础篇 整个大数据开发技术栈我们从实时性的角度来看,主要包含了离线计算和实时计算两大部分,而整个大数据生态中的框架绝大部分都是用 Java 开发或者兼容了 Java 的 API 调用,那么作为基于 JVM 的第一语言 Java 就是我们绕不过去的坎,Java 语言的基础也是我们阅读源码和进行代码调优的基础。 Java 基础主要包含以下部分: 语言基础 锁 多线程 并发包中常用的并发容器(J.U.C) 语言基础 Java 的面向对象 Java 语言的三大特征:封装、继承和多态 Java 语言数据类型 Java 的自动类型转换,强制类型转换 String 的不可变性,虚拟机的常量池,String.intern 的底层原理

剑谱总纲 | 大数据方向学习面试知识图谱

六眼飞鱼酱① 提交于 2019-11-29 11:58:12
关注我的公众号,后台回复【JAVAPDF】获取200页面试题! 5万人关注的大数据成神之路,不来了解一下吗? 5万人关注的大数据成神之路,真的不来了解一下吗? 5万人关注的大数据成神之路,确定真的不来了解一下吗? 欢迎您关注 《大数据成神之路》 愿读到这篇文章的技术人早日明白并且脱离技术本身,早登彼岸。 一切技术最终只是雕虫小技。 大纲 本系列主题是大数据开发面试指南,旨在为大家提供一个大数据学习的基本路线,完善数据开发的技术栈,以及我们面试一个大数据开发岗位的时候,哪些东西是重点考察的,这些公司更希望面试者具备哪些技能。 本文不会对某一个知识点进行详细的展开,后续会陆续出专题文章,希望读者能当成一个学习或者复习的大纲,用以查漏补缺。 语言基础篇 Java基础篇 整个大数据开发技术栈我们从实时性的角度来看,主要包含了离线计算和实时计算两大部分,而整个大数据生态中的框架绝大部分都是用 Java 开发或者兼容了 Java 的 API 调用,那么作为基于 JVM 的第一语言 Java 就是我们绕不过去的坎,Java 语言的基础也是我们阅读源码和进行代码调优的基础。 Java 基础主要包含以下部分: 语言基础 锁 多线程 并发包中常用的并发容器(J.U.C) 语言基础 Java 的面向对象 Java 语言的三大特征:封装、继承和多态 Java 语言数据类型 Java 的自动类型转换

C/C++后端-服务端开发技术博文分类汇总

核能气质少年 提交于 2019-11-28 17:39:22
文章目录 C语言基础 C++基础 基础部分 特性部分、STL部分 C++11、并发编程部分 算法与数据结构 排序算法 其他算法 数据结构部分 Linux操作系统 Linux基础-系统编程(计算机操作系统原理相关) 网络编程(计算机网络原理相关) 内核部分 数据库原理 设计模式 Git Shell C语言基础 《C程序设计 01-03 C语言基础》 《C程序设计 04-06 数组和指针(一)》 《C程序设计 07-09 数组和指针(二)》 《C程序设计 10 函数》 《C程序设计 11 结构体与共用体》 《C程序设计 12 动态内存管理》 《C程序设计 13 文件操作》 《malloc原理和内存碎片》 《浅析malloc的底层实现原理(ptmalloc)》 《大小端存储模式的理解、判断和转换》 《BOOL类型、int型、float型及指针变量如何与“零值”如何比较》 《浅谈define和const的区别》 《C 语言字符串处理系列函数实现》 《C 语言位运算常用技巧》 《C语言 可变参数列表源码剖析及实现》 C++基础 基础部分 《深入程序编译链接和装载过程》 《深入函数的调用堆栈、返回值及调用约定》 《C++ | 类与对象基础》 《C++ | 拷贝构造函数 与 赋值运算符》 《C++ | 对象的生命周期及其程序优化》 《C/C++ 中 const 关键字用法总结》 《C++ |