13 北京老油条

尚未进行身份认证

某大型互联网公司java技术专家 悟来时见沧海古,苍崖行遍谒玄门,向道偶题人间世,一萧一剑一昆仑。 https://github.com/javacodekit

等级
TA的排名 17w+

服务端高并发分布式架构演进之路

1. 概述本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。特别说明:本文以淘宝为例仅仅是为了便于说明演进过程可能遇到的问题,并非是淘宝真正的技术演进路径2. 基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概...

2020-01-14 16:13:07

优客服基于Nginx+tomcat的SSL改造

目录1.为什么要做https和wss升级2.https的相关名称解释3.证书格式4.oepnssl使用安装OpenSSL生成证书解决subjectAlternativeName 找不到的问题客户端服务器端5.xca使用xca简介xca安装步骤xca使用Step1. 打开XCAStep2. 如果是第一次打开,请点击 File--&gt...

2019-03-17 18:33:03

客服技术揭秘-大规模集群改造

优客服是一款非常优秀的开源客服系统,使用了很多先进的开源技术。缓存使用了hazelcast内存数据网格。网络方面使用了netty-socketio。无论是新手学习springboot的使用,还是老手学习websocket等技术,优客服的源码都值得一看。但是优客服主要服务于中小客服,整体是一个单体系统。优客服的技术架构ImEventHandle为访客端的事件处理类,接受访客端的请求...

2018-08-09 01:56:03

用TensorFlow实现文本分析模型,做个聊天机器人

用TensorFlow实现文本分析模型,做个聊天机器人聊天机器人的架构简图用 TensorFlow 实现 Chatbot 的模型如何准备 chatbot 的训练数据Chatbot 源码解读1. 聊天机器人的架构简图聊天机器人是可行的我:chatbot,你好!chatbot:你也好!我:聊天机器人可行吗?chatbot:你不要怀疑这是天方夜谭,我不就在这里吗?世界上...

2018-08-05 23:45:35

Zookeeper使用实例——服务节点管理

分布式处理中,总会存在多个服务节点同时工作,并且节点数量会随着网络规模的变化而动态增减,服务节点也有可能发生宕机与恢复。面对着动态增减的服务节点,我们如何保证客户请求被服务器正确处理呢。我们可以通过zookeeper临时节点创建与自动删除来掌握服务节点的动态增减。ignite分布式缓存支持使用zookeeper发现ignite节点的增减,这正是zookeeper管理服务节点的一个典型应用场景。...

2018-08-05 23:33:24

使用四种框架分别实现百万websocket常连接的服务器

著名的 C10K 问题提出的时候, 正是 2001 年。这篇文章可以说是高性能服务器开发的一个标志性文档,它讨论的就是单机为1万个连接提供服务这个问题,当时因为硬件和软件的**,单机1万还是一个非常值得挑战的目标。但是时光荏苒,随着硬件和软件的飞速发展,单机1万的目标已经变成了最简单不过的事情。现在用任何一种主流语言都能提供单机1万的并发处理的能力。所以现在目标早已提高了100倍,变成C100...

2018-08-05 23:14:45

socketio集群官方文档

粘性负载平衡如果计划在不同进程或计算机之间分配连接负载,则必须确保与特定会话ID关联的请求连接到发起它们的进程。这是由于某些传输,如XHR轮询或JSONP轮询依赖于在“套接字”的生命周期内触发多个请求。未能启用粘性平衡将导致可怕的: WebSocket握手期间出错:意外的响应代码:400 这意味着升级请求被发送到不知道给定套接字ID的节点,因此发送HTTP 400...

2018-08-05 00:16:17

netty-socketio 示例代码

socket.io是一个不错的websocket项目,github上有它的java实现:netty-socketio 及 示例项目 netty-socketio-demo,基本上看看demo示例项目就能很快上手了,但是demo中的示例代码场景为js做客户端,如果需要在java中连接websocket server,可以参考下面的示例:一、服务端代码package com.corundum...

2018-08-05 00:15:53

基于node+socket.io+redis的多房间多进程聊天室

一、相关技术介绍:消息实时推送,指的是将消息实时地推送到浏览器,用户不需要刷新浏览器就可以实时获取最新的消息,实时聊天室的技术原理也是如此。传统的Web站点为了实现推送技术,所用的技术都是轮询,这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求。 短轮询(Polling)客户端需要定时往浏览器轮询发送请求,且只有当服务有数据更新后,客户端的下一次轮询请求才能拿到更新后的数...

2018-08-04 21:16:49

Socket.io的集群方案

摘要: 介绍了socket.io使用Nodejs自带的cluster与集群多进程方案。介绍Nodejs因其简单方便,在服务端应用市场也开始占有一席之地,其另外一个分支--socket.io(最后跟nodejs好像又要合并了),特别适合聊天室、白板(document collabration)、在线实时计算、计数器等应用,如果要支持大容量应用,就需要使用集群技术了,下面逐一讨论常见的sock...

2018-08-04 21:11:08

大规模 WebSocket 集群项目 AnyIM 实战

一、概述WebSocket 应用场景非常广泛,例如社交聊天、弹幕、多玩家游戏、协同编辑、股票基金实时报价、体育实况更新、视频会议/聊天、实时定位、在线教育、智能家居等,这些场景都与我们的生活息息相关。ANY-IM 2.0 是基于 Spring Boot 2.X 框架开发的 WEB 在线即时通信应用,混合使用了 Spring MVC 及 Spring WebFLux,支持点对点通信、群通信、...

2018-08-04 21:07:37

Hazelcast IMDG参考中文版手册-第十一章-分布式查询

分布式查询访问存储在相同或不同成员上的多个数据源的数据。Hazelcast对您的数据进行分区,并将其分布到成员集群中。您可以迭代映射条目并查找您感兴趣的某些条目(由谓词指定)。但是,这不是非常有效,因为您必须携带整个条目集并在本地迭代。相反,Hazelcast允许您在分布式地图上运行分布式查询。11.1。分布式查询如何工作请求的谓词将发送到群集中的每个成员。 每个成员查看自己的本地条...

2018-08-04 17:25:29

Hazelcast IMDG参考中文版手册-第七章-分布式数据结构

如概述部分所述,Hazelcast提供Java接口的分布式实现。以下是这些实现的列表,其中包含指向本手册中相应部分的链接。标准实用程序集合 Map是分布式实现的java.util.Map。它可以让你从读取和写入到Hazelcast地图方法,如get和put。 队列是分布式实现的java.util.concurrent.BlockingQueue。您可以在一个成员中添加项目,然后将其从另...

2018-08-04 17:11:31

Hazelcast IMDG参考中文版手册-第五章-集群设置

本章介绍Hazelcast集群以及集群成员和本机客户端用于构成Hazelcast集群的方法。5.1。发现机制Hazelcast集群是运行Hazelcast的集群成员网络。集群成员(也称为节点)自动连接在一起以形成集群。这种自动连接使用集群成员用于查找彼此的各种发现机制进行。请注意,在群集形成后,群集成员之间的通信始终通过TCP / IP进行,无论使用何种发现机制。Hazelcast...

2018-08-04 16:58:55

Hazelcast IMDG参考中文版手册-第四章-配置

本章介绍配置Hazelcast应用程序的选项,并说明配置时可以使用的实用程序。您可以使用以下选项之一或混合配置Hazelcast:陈述性的方式 程序化方式 使用Hazelcast系统属性 在Spring环境中 在正在运行的集群上动态添加配置(从Hazelcast 3.9开始)4.1。以声明方式配置这是您使用XML配置文件的配置选项。下载并解压缩时hazelcast-<ver...

2018-08-04 16:49:10

Hazelcast IMDG参考中文版手册-第二章-入门

本章介绍如何安装Hazelcast并启动Hazelcast成员和客户端。它描述了下载包中的可执行文件,还提供了配置Hazelcast及其部署选项的基础知识。2.1。安装以下部分介绍了Hazelcast IMDG和Hazelcast IMDG Enterprise的安装。它还包括升级Hazelcast时要考虑的注释和更改。2.1.1。安装Hazelcast IMDG您可以在标准Mav...

2018-08-04 16:37:31

Hazelcast IMDG参考中文版手册-第三章-概述

Hazelcast是一个开源的内存数据网格(IMDG)。它提供弹性可扩展的分布式内存计算,被广泛认为是应用程序性能最快,最具扩展性的方法。Hazelcast在开源中做到这一点。更重要的是,Hazelcast通过提供来自Java的许多开发人员友好界面的分布式实现(如Map,Queue,ExecutorService,Lock和JCache),使分布式计算变得简单。例如,Map接口提供了一个In-Me...

2018-08-04 16:34:35

Hazelcast IMDG参考中文版手册-第一章-前言

版本3.10.4前言欢迎使用Hazelcast IMDG(内存数据网格)参考手册。本手册包含概念,说明和示例,可指导您如何使用Hazelcast和构建Hazelcast IMDG应用程序。作为本手册的读者,您必须熟悉Java编程语言,并且应该已经安装了首选的集成开发环境(IDE)。Hazelcast IMDG版本本参考手册涵盖了Hazelcast IMDG的所有版本。在整本手册...

2018-08-04 15:58:01

TDDL

1. 分库分表,而且分库规则非常灵活.2. 主键生成策略 目前TDDL提供的id生成主要还是依托数据库来进行的,oracle可以直接使用sequence来完成id生成,mysql则需要DBA建立一个表专门用于生成id.3. 连接查询策略虽然TDDL目前并不直接支持连接查询,但连接查询在业务中也是常见的查询。处理这类查询时,需要由业务去决定如何实现这类查询。处理这类查

2017-08-05 11:57:36

MySql DAL中间件总结

[隐藏]1前言2Atlas2.1atlas简介2.2atlas架构2.3主要功能3Mysql router3.1mysql router简介3.2mysql router架构3.3mysql router主要功能4Mycat4.1mycat简介4.2mycat架构4.3mycat主要功能5Cobar5.1cobar简介5.2cobar架构5.

2017-08-01 20:47:40
勋章 我的勋章
    暂无奖章