后端技术

五分钟学后端技术:如何学习Java工程师必须要会的RPC

╄→尐↘猪︶ㄣ 提交于 2020-03-30 23:01:00
声明 本文转自https://developer.51cto.com/art/201906/597963.htm 什么是RPC RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。 RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有: 应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud。 远程通信协议:RMI、Socket、SOAP(HTTP XML)、REST(HTTP JSON)。 通信框架:MINA 和 Netty。 目前流行的开源 RPC 框架还是比较多的,有阿里巴巴的 Dubbo、Facebook 的 Thrift、Google 的 gRPC、Twitter 的 Finagle 等。 常用的RPC框架 gRPC:是 Google 公布的开源软件,基于最新的 HTTP 2.0 协议,并支持常见的众多编程语言。RPC 框架是基于 HTTP 协议实现的,底层使用到了 Netty 框架的支持。 Thrift:是 Facebook 的开源 RPC 框架,主要是一个跨语言的服务开发框架。 用户只要在其之上进行二次开发就行,应用对于底层的 RPC 通讯等都是透明的

6个最热门的IT技术职位,薪资都有多高?

非 Y 不嫁゛ 提交于 2020-03-30 19:35:23
IT行业作为当今发展前途最大的几大行业之一,获得了前所未有的广泛关注,且随着科技的发展,这一趋势将更加明显。 为了争夺IT技术人才,很多公司都会提供更高的薪资来吸引高水准的开发人员。 对于IT行业新人来说,想要进入IT行业找到满意的工作,首先应该选择适合的职位。 那么IT行业究竟有哪些职位呢?哪些岗位是当下最热门的呢? 一、IT行业有哪些职位? 1、技术 2、设计 3、运营 4、产品 二、哪些岗位是当下最热门的呢? 1、HTML5前端 小程序、H5、APP等移动端的爆发催生了前端人才的大量需求。HTML5前端相对于其他编程语言来说,简单易入门,是新手转行IT行业的首选之一。 CSS工程师要考虑更多的就是兼容性。一般来说,CSS工程师并不存在,写CSS的人最好要掌握JS代码、Html5。这是前端人员必备技能。 前端薪资: (1)切图熟练、能写一些JS效果:月收入5k~10k (2)会切图会JS,并可以熟练用JS开发各种组件:月收入8k~15k (3)具备前两条,熟悉1~N个后端语言:月收入15k~30k (4)具备以上所有,并对前端架构、性能优化方面有深入了解:月收入平均40k,并且企业抢着要! 2、后端开发 后端语言包括Java、Python、C++、PHP语言等。后端的发展前景很大,无论是B/S还是C/S,无论是Web还是原生,或者是智能硬件,后端都会屹立不倒。

五分钟学后端技术:如何学习Redis、memcache等常用缓存技术

[亡魂溺海] 提交于 2020-03-27 19:08:54
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 本文思维导图 什么是缓存 计算机中的缓存 做后端开发的同学,想必对缓存都不会陌生了,平时我们可能会使用Redis,MemCache这类缓存组件,或者是本地缓存,来实现一些后端的应用。 那么,严格来说,到底什么才是缓存呢,先来看看百度百科的定义。 缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。 最早,“缓存”一词是用来指代计算机硬件中的高速缓存,因为CPU和内存的运算速度差距过大,如果CPU直接和内存交互的话,会浪费掉CPU的大量运算时间,于是有了高速缓存,来为这两个速度差距甚远的组件做中介。 具体的工作原理是,CPU要取数据的时候,先找高速缓存要,由于它们俩的速度差距并不大,所以CPU不会损失掉太多性能,如果数据就在缓存中,那么就直接在缓存里取,否则则到内存去取,取完之后还要留在高速缓存中,以便于下次CPU要使用时无需再到内存中去取。 其实,高速缓存还可以分为一级缓存,二级缓存和三级缓存等,每往下一级,速度也就越慢,价格也越低,毕竟,成本是我们不得不考虑的因素,要不然一切硬件都上顶配,就不需要讨论软件的优化了。 除了高速缓存外,其实还有硬盘缓存

五分钟学后端技术:如何学习Redis、memcache等常用缓存技术

喜欢而已 提交于 2020-03-27 19:00:34
3 月,跳不动了?>>> 原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 本文思维导图 什么是缓存 计算机中的缓存 做后端开发的同学,想必对缓存都不会陌生了,平时我们可能会使用Redis,MemCache这类缓存组件,或者是本地缓存,来实现一些后端的应用。 那么,严格来说,到底什么才是缓存呢,先来看看百度百科的定义。 缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。 最早,“缓存”一词是用来指代计算机硬件中的高速缓存,因为CPU和内存的运算速度差距过大,如果CPU直接和内存交互的话,会浪费掉CPU的大量运算时间,于是有了高速缓存,来为这两个速度差距甚远的组件做中介。 具体的工作原理是,CPU要取数据的时候,先找高速缓存要,由于它们俩的速度差距并不大,所以CPU不会损失掉太多性能,如果数据就在缓存中,那么就直接在缓存里取,否则则到内存去取,取完之后还要留在高速缓存中,以便于下次CPU要使用时无需再到内存中去取。 其实,高速缓存还可以分为一级缓存,二级缓存和三级缓存等,每往下一级,速度也就越慢,价格也越低,毕竟,成本是我们不得不考虑的因素,要不然一切硬件都上顶配,就不需要讨论软件的优化了。

应对突发需求,如何借助Serverless快速上云?

浪子不回头ぞ 提交于 2020-03-25 12:00:31
3 月,跳不动了?>>> 当突发事件来临时,当绝佳idea闪现时,如何快速搞定开发和部署,使之变身为产品?快,则应万变!Serverless 是当今炙手可热的技术,被认为是云计算发展的未来方向,如何利用Serverless Framework 实现快速上云?本文是王俊杰老师在「云加社区沙龙online」的分享整理,详细阐述了Serverless上云的基本思路、框架原理、组件架构等,带大家揭开Serverless的神秘面纱。 应对突发需求,如何借助Serverless快速上云?_腾讯视频 ​ 一、Serverless上云基本概念 感谢云加社区组织这次“技术应变力”的线上专题活动,并邀请我来进行分享,我将从Serverless的角度来进行解读。Serverless是最近非常热门的词,中文翻译为“无服务器”。有人认为既然是无服务器,就意味着不再需要运维,完全是按需付费的模式...... 其实这些理解都比较片面,描述的都只是Serverless的某个方面。 从2014~2020年,这几年Serverless关键词的谷歌搜索指数与日攀升,现在已经成为了非常火爆的技术名词。其实早在2006年就有人提出Pay as you go的概念,需要多少就买多少,但直到2012年,Serverless首次被提出。2014~2016年,大型云厂商纷纷发布函数计算相关的产品支撑这样一个无服务器技术。

一网打尽!每个程序猿都该了解的黑客技术大汇总

混江龙づ霸主 提交于 2020-03-23 10:28:22
目录 [一网打尽!每个程序猿都该了解的黑客技术大汇总](https://www.cnblogs.com/xuanyuan/p/12529598.html) 网络安全 SQL注入 XSS攻击 反射型 存储型 CSRF攻击 DDoS攻击 DNS劫持 TCP劫持 端口扫描技术 系统安全 栈溢出攻击 整数溢出攻击 空指针攻击 释放后使用攻击 HOOK 权限提升 可信计算 密码学 对称加密 & 非对称加密 秘钥交换技术 信息摘要算法 数据编码技术 多因子认证技术 总结 一网打尽!每个程序猿都该了解的黑客技术大汇总 上面这个段子估计很多朋友都看过,程序员被黑过无数次,在其他人眼中,仿佛我们需要写得了木马,翻得了围墙,修得了电脑,找得到资源,但凡是跟计算机沾点边的,咱都得会才行。 段子归段子,言归正传,对于咱们程序员来说,多多少少了解一些信息安全的技术知识还是大有裨益的,不仅能了解一些计算机和网络的底层原理,也能反哺我们的开发工作,带着安全思维编程,减少漏洞的产生。 本文内容: - 网络安全 - SQL注入 - XSS攻击 - CSRF攻击 - DDoS攻击 - DNS劫持 - TCP劫持 - 端口扫描技术 - 系统安全 - 栈溢出攻击 - 整数溢出攻击 - 空指针攻击 - 释放后使用攻击 - HOOK - 权限提升 - 可信计算 - 密码学 - 对称加密 & 非对称加密 - 秘钥交换技术 -

数字中台从0启蒙

对着背影说爱祢 提交于 2020-03-12 22:33:38
大家好,今天给大家介绍下什么是数字中台;想必大家听到这个新词都有些不太理解或是有些蒙圈,其实我听到的时候也是不太理解,下面我给大家举例说明下: 1.数字中台,其实可以理解成中国移动10086接电话的客户人员,有咨询问题都可以问,客服人员接到需求之后会做需求分析和转发,也就说自己可以解决的问题,可以迅速反馈给客户,如果遇到难点就会转发到后端相关人员,也就是我们项目上经常说的相关方; 2.数字中台,也可以理解成已经定好的框架平台,就像腾讯云公网推出的移动金融开发平台一样,是一套成熟的解决方案,其实中台中有一个典型的功能模块就是消息推送功能,这个功能大家应该不太默认,就像大众用手机的时候打开某个网站的时候,经常会有优惠消息弹出,这就是中台中的消息推送功能; 3.数字中台,可以连接后端多个厂商,只需要在界面简单的配置下就可以完成,更加的人性化,简单化,稳定可靠; 4.数字中台,可以理解成就是我们北京的六里桥,客户站枢纽,连接着全国各地的市县; 5.中台连接着你我,连接着新时代的技术; 好了,今天就给大家介绍到这里了,后面我会把项目中的实战经验分享给大家,在项目实践中是如果遇到问题解决问题; 来源: 51CTO 作者: 柒年游 链接: https://blog.51cto.com/liwenming18/2477869

nginx的原理

给你一囗甜甜゛ 提交于 2020-03-10 15:06:22
一. nginx基本介绍 Nginx特性: Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 1、nginx高并发原理( 多进程+epoll实现高并发 ) Nginx 在启动后,会有一个 master 进程和多个相互独立的 worker 进程。 每个子进程只有一个线程,采用的 IO多路复用模型epoll,实现高并发。 2、epoll能实现高并发原理 epoll() 中内核则维护一个链表,epoll_wait 方法可以获取到链表长度,不为0就知道文件描述符准备好了。 在内核实现中 epoll 是根据每个 sockfd 上面的与设备驱动程序建立起来的回调函数实现的。 某个 sockfd 上的事件发生时,与它对应的回调函数就会被调用,来把这个 sockfd 加入链表,其他处于“空闲的”状态的则不会。 epoll上面链表中获取文件描述,这里使用内存映射(mmap)技术, 避免了复制大量文件描述符带来的开销 内存映射(mmap):内存映射文件,是由一个文件到一块内存的映射,将不必再对文件执行I/O操作

LVS基本概念和三种模式

喜你入骨 提交于 2020-03-08 18:54:46
网站架构中,负载均衡技术是实现网站架构 伸缩性 的主要手段之一。所谓"伸缩性",是指可以不断向集群中添加新的服务器来提升性能、缓解不断增加的并发用户访问压力。通俗地讲,就是一头牛拉不动时,就用两头、三头、更多头牛来拉。 负载均衡有好几种方式:http URL重定向、DNS的A记录负载均衡、反向代理负载均衡、IP负载均衡和链路层负载。本文所述为LVS,它的VS/NAT和VS/TUN模式是IP负载均衡的优秀代表,而它的VS/DR模式则是链路层负载均衡的优秀代表。 1.LVS简介 LVS中文官方手册: http://www.linuxvirtualserver.org/zh/index.html 。这个手册对于了解lvs的背景知识很有帮助。 LVS英文官方手册: http://www.linuxvirtualserver.org/Documents.html 。这个手册比较全面,对于了解和学习lvs的原理、配置很有帮助。 LVS是章文嵩开发的一个国产开源负载均衡软件。LVS最初是他在大学期间的玩具,随着后来使用的用户越来越多,LVS也越来越完善,最终集成到了Linux的内核中。有不少开源牛人都为LVS开发过辅助工具和辅助组件,最出名的就是Alexandre为LVS编写的Keepalived,它最初专门用于监控LVS,后来加入了通过VRRP实现高可用的功能。 LVS的全称是Linux

微信小程序与后端连接(Java+Mybatis-plus)

岁酱吖の 提交于 2020-03-08 02:44:50
一、技术: 1、后端: Springboot+Mysql+Mybatis-plus+Tomcat 2、前端: 微信小程序 3、项目目录: 二、后端相关配置: 1、Mysql: spring.datasource.url= jdbc:mysql://localhost:3306/wxdatas?serverTimezone=UTC&characterEncoding=utf-8&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 2、添加Mybatis-plus依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1.tmp</version> </dependency> 注:因为基本是使用它自带的,所以没有xml文件。如果需要可自己引入,并配置。 此处需要注意在启动类上添加 @SpringBootApplication //重点 @MapperScan (