科技新闻

socket通信原理

China☆狼群 提交于 2020-03-26 16:50:35
1、什么是socket 我们知道进程通信的方法有管道、命名管道、信号、消息队列、共享内存、信号量,这些方法都要求通信的两个进程位于同一个主机。但是如果通信双方不在同一个主机又该如何进行通信呢?在计算机网络中我们就学过了tcp/ip协议族,其实使用tcp/ip协议族就能达到我们想要的效果,如下图(图片来源于《tcp/ip协议详解卷一》第一章1.3)           、                            图一 各协议所处层次 当然,这样做固然是可以的,但是,当我们使用不同的协议进行通信时就得使用不同的接口,还得处理不同协议的各种细节,这就增加了开发的难度,软件也不易于扩展。于是UNIX BSD就发明了socket这种东西,socket屏蔽了各个协议的通信细节,使得程序员无需关注协议本身,直接使用socket提供的接口来进行互联的不同主机间的进程的通信。这就好比操作系统给我们提供了使用底层硬件功能的系统调用,通过系统调用我们可以方便的使用磁盘(文件操作),使用内存,而无需自己去进行磁盘读写,内存管理。socket其实也是一样的东西,就是提供了tcp/ip协议的抽象,对外提供了一套接口,同过这个接口就可以统一、方便的使用tcp/ip协议的功能了。百说不如一图,看下面这个图就能明白了。                                         

Redis哨兵机制

我只是一个虾纸丫 提交于 2020-03-26 11:34:18
3 月,跳不动了?>>> 如果master异常,则会进行master-slave切换,将其中一个slave作为master,将之前的master作为slave。 哨兵作用 哨兵是Redis集群架构中非常重要的一个组件,主要功能如下: 集群监控:负责监控redis master和slave进程是否正常 消息通知:如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员 故障转移:如果master节点挂掉了,会自动转移到slave节点上 配置中心:如果故障转移发生了,通知client客户端新的master地址 哨兵的核心知识 故障转移时,判断一个master节点是否宕机了,需要大部分的哨兵都同意才行,涉及到了分布式选举的问题 哨兵至少需要3个实例,来保证自己的健壮性 哨兵+redis主从的部署架构,是不会保证数据零丢失的,只能保证redis集群的高可用性 sdown和odown sdown和odown两种失败的状态 sdown是主观宕机,就一个哨兵如果自己觉得一个master宕机了,那么就是主观宕机 odown是客观宕机,如果quorum数量的哨兵都觉得一个master宕机了,那么就是客观宕机 sdown达成的条件:如果一个哨兵ping一个master,超过了is-master-down-after-milliseconds指定的毫秒数之后,就认为master宕机

阿里 iOS 程序员绩效打了3.25分,留下报复性bug?

旧街凉风 提交于 2020-03-26 10:16:23
南方都市报(nddaily)综合报道 昨天(25日),手机淘宝iOS版本出现BUG,苹果手机用户打开淘宝App后,会出现到期弹窗提示:“ 您使用的程序是内测版本,将于当地时间2020-03-28到期,到期后将无法使用,请尽快下载最新版本 ”。 对此,淘宝官方微博昨天下午回应称:“ 大家连接WiFi,更新手机淘宝到最新版就好了。 ”18时许,南都君打开手机淘宝iOS版,并无到期弹窗提示。 出现BUG后,网上流传此次BUG“ 怀疑是之前的iOS开发人员被打了3.25分的绩效后,报复性留下隐形重大BUG,在3月25号这天****出来 ”,并称是“ 阿里的潜规则 ”。对此,淘宝官方微博发图回应称: 纯属谣言!!! 推荐去我的博客阅读更多: 1. Java JVM、集合、多线程、新特性系列教程 2. Spring MVC、Spring Boot、Spring Cloud 系列教程 3. Maven、Git、Eclipse、Intellij IDEA 系列工具教程 4. Java、后端、架构、阿里巴巴等大厂最新面试题 生活很美好,明天见~ 来源: https://www.cnblogs.com/javastack/p/12572411.html

Window配置Redis环境和简单使用

点点圈 提交于 2020-03-26 10:03:14
转载java大神 仅供自己学习使用 一、关于Redis Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持 字符串 、 哈希表 、 列表 、 集合 、 有序集合 , 位图 , hyperloglogs 等数据类型。 官网:https://redis.io/download,网传Redis是不支持windows的, 但是,Microsoft开放技术小组 使这一切有了可能 ; window版下载地址:https://github.com/MicrosoftArchive/redis/releases 二、安装和配置Redis 下载Redis For window X64.zip,加压到指定目录,如下图所示我解压到了D盘 打开cmd命令窗口,安装和注册redis到window服务,注意安装和启动服务这两个操作需要在解压Redis的根目录执行,这里才有Redis环境 安装命令:redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动服务命令:redis-server.exe --service-start 关闭服务命令:redis-server.exe --service-stop 安装和注册服务,启动服务启动后我们都可以看到

阿里 iOS 程序员绩效打了3.25分,留下报复性bug?

非 Y 不嫁゛ 提交于 2020-03-26 10:02:51
3 月,跳不动了?>>> 南方都市报(nddaily)综合报道 昨天(25日),手机淘宝iOS版本出现BUG,苹果手机用户打开淘宝App后,会出现到期弹窗提示:“ 您使用的程序是内测版本,将于当地时间2020-03-28到期,到期后将无法使用,请尽快下载最新版本 ”。 对此,淘宝官方微博昨天下午回应称:“ 大家连接WiFi,更新手机淘宝到最新版就好了。 ”18时许,南都君打开手机淘宝iOS版,并无到期弹窗提示。 出现BUG后,网上流传此次BUG“ 怀疑是之前的iOS开发人员被打了3.25分的绩效后,报复性留下隐形重大BUG,在3月25号这天****出来 ”,并称是“ 阿里的潜规则 ”。对此,淘宝官方微博发图回应称: 纯属谣言!!! 推荐去我的博客阅读更多: 1. Java JVM、集合、多线程、新特性系列教程 2. Spring MVC、Spring Boot、Spring Cloud 系列教程 3. Maven、Git、Eclipse、Intellij IDEA 系列工具教程 4. Java、后端、架构、阿里巴巴等大厂最新面试题 生活很美好,明天见~ 来源: oschina 链接: https://my.oschina.net/javaroad/blog/3211673

JAVA架构师必备词汇和知识点

江枫思渺然 提交于 2020-03-26 08:00:50
01 高可用 负载均衡(负载均衡算法) 反向代理 服务隔离 服务限流 服务降级(自动优雅降级) 失效转移 超时重试(代理超时、容器超时、前端超时、中间件超时、数据库超时、NoSql超时) 回滚机制(上线回滚、数据库版本回滚、事务回滚) 02 高并发 应用缓存 HTTP 缓存 多级缓存 分布式缓存 连接池 异步并发 03 分布式事务 二阶段提交(强一致) 三阶段提交(强一致) 消息中间件(最终一致性),推荐阿里的 RocketMQ。 04 队列 任务队列 消息队列 请求队列 05扩容 单体垂直扩容 单体水平扩容 应用拆分 数据库拆分 数据库分库分表 数据异构 分布式任务 06 网络安全 SQL 注入 XSS 攻击 CSRF 攻击 拒绝服务(DoS,Denial of Service)攻击 架构师必备工具 01 操作系统 Linux(必备)、某软的 02 负载均衡 DNS、F5、LVS、Nginx、OpenResty、HAproxy、负载均衡SLB 03 分布式框架 Dubbo、Motan、Spring-Could 04 数据库中间件 DRDS 、Mycat、360 Atlas、Cobar (不维护了) 05 消息队列 RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka 06 注册中心 Zookeeper、Redis 07 缓存 Redis、Oscache

架构必备词汇

情到浓时终转凉″ 提交于 2020-03-26 07:28:42
高可用 负载均衡(负载均衡算法) 反向代理 服务隔离 服务限流 服务降级(自动优雅降级) 失效转移 超时重试(代理超时、容器超时、前端超时、中间件超时、数据库超时、NoSql超时) 回滚机制(上线回滚、数据库版本回滚、事务回滚) 高并发 应用缓存 HTTP缓存 多级缓存 分布式缓存 连接池 异步并发 分布式事务 二阶段提交(强一致) 三阶段提交(强一致) 消息中间件(最终一致性),推荐阿里的RocketMQ 队列 任务队列 消息队列 请求队列 扩容 单体垂直扩容 单体水平扩容 应用拆分 数据库拆分 数据库分库分表 数据异构 分布式任务 网络安全 SQL注入 XSS攻击 CSRF攻击 拒绝服务(DoS,Denial of Service)攻击 架构装逼必备工具 操作系统 Linux(必备)、某软的 负载均衡 DNS、F5、LVS、Nginx、OpenResty、HAproxy、负载均衡SLB(阿里云) 分布式框架 Dubbo、Motan、Spring-Could 数据库中间件 DRDS (阿里云)、Mycat、360 Atlas、Cobar (不维护了) 消息队列 RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka 注册中心 Zookeeper、Redis 缓存 Redis、Oscache、Memcache、Ehcache 集成部署 Docker、Jenkins

iOS 手势+触摸事件

这一生的挚爱 提交于 2020-03-26 07:10:59
一、响应链 在IOS开发中会遇到各种操作事件,通过程序可以对这些事件做出响应。 首先,当发生事件响应时,必须知道由谁来响应事件。在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类, 响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获得响应事件消息的机会。当发生事件时,事件首先被发送给第一响应者,第一响应者往往是事 件发生的视图,也就是用户触摸屏幕的地方。事件将沿着响应者链一直向下传递,直到被接受并做出处理。一般来说,第一响应者是个视图对象或者其子类对象,当 其被触摸后事件被交由它处理,如果它不处理,事件就会被传递给它的视图控制器对象viewcontroller(如果存在),然后是它的父视图 (superview)对象(如果存在),以此类推,直到顶层视图。接下来会沿着顶层视图(top view)到窗口(UIWindow对象)再到程序(UIApplication对象),如果UIApplication也不响应,那么还有一个地方可以 构建一个全局响应者作为响应链的最后一个环节,那就是应用程序的委托,前提是他是UIResponder的子类。如果整个过程都没有响应这个事件,该事件 就被丢弃。一般情况下,在响应者链中只要由对象处理事件,事件就停止传递。 一个典型的相应路线图如: First Responser -- > The Window --

架构装逼必备词汇(转某大牛微博)

做~自己de王妃 提交于 2020-03-26 06:39:54
高可用 负载均衡(负载均衡算法) 反向代理 服务隔离 服务限流 服务降级(自动优雅降级) 失效转移 超时重试(代理超时、容器超时、前端超时、中间件超时、数据库超时、NoSql超时) 回滚机制(上线回滚、数据库版本回滚、事务回滚) 高并发 应用缓存 HTTP缓存 多级缓存 分布式缓存 连接池 异步并发 分布式事务 二阶段提交(强一致) 三阶段提交(强一致) 消息中间件(最终一致性),推荐阿里的RocketMQ 队列 任务队列 消息队列 请求队列 扩容 单体垂直扩容 单体水平扩容 应用拆分 数据库拆分 数据库分库分表 数据异构 分布式任务 网络安全 SQL注入 XSS攻击 CSRF攻击 拒绝服务(DoS,Denial of Service)攻击 来源: https://www.cnblogs.com/xqzj/p/7658024.html

Spring Cloud 持续更新中

送分小仙女□ 提交于 2020-03-25 23:32:56
内容 微服务概述 SpringCloud概述 Rest微服务构建案例工程模块 Eureka服务注册与发现 Ribbon负载均衡 Feign负载均衡 Hystrix断路器 zuul路由网关 Config分布式配置中心 Sleuth服务跟踪 Stream消息驱动 Bus消息代理的集群消息总线 常见问题 什么是微服务 微服务之间是如何独立通讯的 Spring Cloud和Dubbo有哪些区别 对SpringBoot和SpringCloud的理解 什么是服务熔断?什么是服务降级? 微服务的优缺点?项目开发中碰到的坑 你所知道的微服务技术栈有哪些 eureka和zookeeper都可以提供服务注册与发现的功能,两者的区别是什么? 一、微服务概述 https://www.martinfowler.com/articles/microservices.html 微服务与微服务架构 通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务在其独立的自己的进程中,服务之间互相协同、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API,dubbo是基于RPC的)。每个服务围绕着具体业务进行构建,并且能够被独立部署到生成环境、类生成环境等。另外,应尽量避免统一的、集中式的服务管理机制