Go语言中文网 为您找到相关结果 660

Go基础学习记录之阻止Session劫持(Preventing session hijacking)

阻止Session劫持(Preventing session hijacking) Session劫持是一种常见且严重的安全威胁。在与服务器通信时,客户端使用Session ID进行验证和其他目的。不幸的是,恶意第三方有时可以跟踪这些通信并找出客户端Session ID。本次分享,将向您展示如何为教育目的劫持Session。 Session劫持过程 以下代码是count变量的计数器: // WelcomeLogin 欢迎登录页 func WelcomeLogin(w http.ResponseWriter, r *http.Request) { session, err := appSession.SessionStart(w, r) if err != nil { fmt.Fprintf(...阅读全文

博文 2018-11-06 14:34:44 DurbanZhang

理解Kubernetes网络:ingress篇

在本系列的第一篇文章中,我讲了Pod跨Kubernetes集群中的节点相互连接的网络。第二篇重点讲了服务网络如何为Pod提供负载平衡,以便群集内的客户端可以与它们可靠地通信。对于这第三篇也是最后一篇文章,我想以这些概念为基础来展示集群外的客户端如何使用同一服务网络连接到Pod。由于各种原因,这很可能是三篇涉及最多的,并且掌握前两篇关于pod和service的内容是理解本篇的的前提。 路由并不是负载均衡 在上一篇文章中,我们创建了一个具有两个Pod的部署,并为该服务分配了一个IP,称为“集群IP”,针对Pod的请求已发送到该IP。我将在此处继续根据该示例进行构建。回想一下,该服务的群集IP 10.3.241.152位于与Pod网络以及节点本身所在的网络不同的IP地址范围内。我称这个地址空间为“...阅读全文

您需要了解的有关Kubernetes服务质量(QoS)

服务质量(QoS)类是Kubernetes的概念,它确定Pod的调度和驱逐优先级。 Kubernetes调度程序使用QoS类来做出有关将Pod调度到节点上的决策。 Kubelet使用它来管理驱逐pod的顺序,以及使用高级CPU管理策略允许更复杂的pod调度决策。 QoS类由Kubernetes本身分配给Pod。但是,DevOps可以通过处理Pod内各个容器的资源请求和限制来控制分配给容器的QoS类。 在kubernetes 中存在三种QoS类: Guaranteed Burstable BestEffort 让我们看一下不同的QoS类,看看它们如何与Kubernetes Scheduler和Kubelet一起工作。 Guaranteed 如何分配Pod的QoS Guaranteed 等级? ...阅读全文

五分钟学Java:如何才能学好Java Web里这么多的技术

副本_未命名.jpg 原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 系列文章介绍 本文是《五分钟学Java》系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年多的Java学习和工作经历,总结和沉淀下来的方法论,希望能让Java学习这件事变得更简单,作者目前在阿里做Java,忙里偷闲分享一些技术文章,有兴趣看本系列更多文章可以关注我的公众号【Java技术江湖】 系列文章将会把一些技术学习方法、过程、要领与我的学习经验相结合,更加浅显易懂,并且我也会把我学习时用的资料,书籍和文章拿出来分享给大家,节省你我的时间。所谓授人以鱼也要授人以渔,是本系列文章希望达到的目标。 本文思维导图 在这里插入图片描述 什么是Java Web 不知道Java We...阅读全文

博文 2020-03-05 03:32:48 程序员黄小斜

Dubbo2.6.x—注册中心源码分析 dubbo-registry模块 (api and zookeeper)

文章有点长,亲,要慢慢看! 1. 概述 1.1 注册中心作用 在Dubbo中,注册中心为核心模块,Dubbo通过注册中心实现各个服务之间的注册与发现等功能,而本次源码的分析为registry模块的api和zookeeper的实现。 服务的提供者和消费者都需要把自己注册到注册中心,提供者让消费者感知到服务存在,从而消费者发起远程调用,也让服务治理中心感知到有服务提供者上线;消费者则是让服务治理中心可以发现自己。 1.2 Zookeeper Zookeeper是一个提供分布式协调服务的开源软件,常用于解决分布式应用中经常遇到的一些数据管理问题。Zookeeper功能非常强大,可以实现如分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能。关于Zookeeper,大家如果想了解可以关注一...阅读全文

博文 2020-01-11 21:32:47 苡仁ilss

五分钟学Java:如何才能学好Java Web里这么多的技术?

副本_未命名.jpg 原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 系列文章介绍 本文是《五分钟学Java》系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年多的Java学习和工作经历,总结和沉淀下来的方法论,希望能让Java学习这件事变得更简单,作者目前在阿里做Java,忙里偷闲分享一些技术文章,有兴趣看本系列更多文章可以关注我的公众号【Java技术江湖】 系列文章将会把一些技术学习方法、过程、要领与我的学习经验相结合,更加浅显易懂,并且我也会把我学习时用的资料,书籍和文章拿出来分享给大家,节省你我的时间。所谓授人以鱼也要授人以渔,是本系列文章希望达到的目标。 本文思维导图 什么是Java Web 不知道Java Web这个词是从什么时候...阅读全文

博文 2020-03-05 03:32:48 程序员黄小斜

RocketMQ主从同步源码分析

微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。 之前写了一篇关于 RocketMQ 队列与 Kafka 分区副本的区别文章,里面提到了 RocketMQ 的消息冗余主要是通过主备同步机制实现的,这跟 Kafka 分区副本的 Leader-Follower 模型不同,HA(High Available) 指的是高可用性,而 RocketMQ 的HA机制是通过主备同步实现消息的高可用。 HA 核心类 HA 的实现逻辑放在了 store 存储模块的ha目录中,其核心实现类如下: image HAService:主从同步的核心实现类 HAService$AcceptSocketService:主服务器监听从服务器连接实现类 HAServic...阅读全文

博文 2019-10-14 20:33:36 aside section ._1OhGeD

新装Linux操作系统后,要保留哪些自启动服务?

和Windows系统一样,Linux服务器运行过程中也会一些没用的软件服务默认运行,这些占用了很多系统资源,也会有安全隐患,所以一般是建议关闭的。那么,工作中Linux主机到底需要有哪些开机自启动服务呢? 新装Linux系统之后,有必要保留的开机自启动服务有5个: Ø sshd:远程连接Linux服务器时要用到,所以必须开启,不然就无法提供远程连接服务了。 Ø rsyslog:日志相关软件,这是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中。 Ø network:系统启动时,如果想激活或关闭各个网络接口的话,可以考虑开启。 Ø crond:用于周期性的执行系统及用户配置的任务计划。有需要时开启。几乎是运维工作中必须要用的一个软件。 Ø sy...阅读全文

博文 2019-11-15 16:40:15 zhouzhou2018

第一个go程序hello world

在科学技术日益发展的今天,如雨后春笋般呈现出越来越多的具有很高的性能和开发效率的服务端语言。go迄今在很多公司有用武之地,它支持高并发、低延时、低内存消耗,有很好的社区,所以引起很多的开发者逐渐转入go的阵地。下面用示例来运行第一个go程序。go环境安装,https://golang.google.cn/dl/,从上面选择适合自己的环境进行安装;go开发工具,像Goland,LieteIDE,VsCode,我选择Goland进行开发,青睐它的语法高亮,动态提示很方便。创建go工程,通过new-project创建工程,go工程要配置go path,否则无法被发现。具体步骤是,点击File-OtherSettings-Preference for new project,在搜索栏搜索GoPath...阅读全文

博文 2020-02-23 18:32:43 Statham_Jessie

go tcp c/s server client 学习笔记

server1:package main import ( "fmt" "net" ) func main() { l, err := net.Listen("tcp", "127.0.0.1:9876") if err != nil { fmt.Println(err) } fmt.Println("服务器等待客户端连接") conn, err := l.Accept() if err != nil { fmt.Println(err) } defer conn.Close() fmt.Println("客户端建立连接 ") buf := make([]byte, 4096) n, err := conn.Read(buf) if err != nil { fmt.Println(err)...阅读全文

博文 2019-07-25 14:03:27 xingzhehxiang