月星墙的博客

Better Code, Better Life


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 搜索

微服务组件

发表于 2019-05-28 | 分类于 arch
微服务基本介绍 架构演进 单体架构:复杂度逐渐变高、部署速度慢、阻碍技术创新、无法按需伸缩 SOA(Service Oriented Architecture) ^1 面向服务的架构,他是一种设计方法,其中包含多个服务,服务之间通过相互依赖最终提供一系列的功能,各个服务之间通过网络调用 SOA中的ESB(企业服务总线),简单 来说 ESB 就是一根管道,用来连接各个服务节点。为了集成不同系统,不同协议的服务,ESB 做了消息的转化解释和路由工作,让不同的服务互联互通 微服务(架构选型说明见下文) 其实和 SOA 架构类似,微服务是在 SOA 上做的升华,微服务架构强调的一个重点是”业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成 微服务特点 微服务可独立运行在自己的进程里 一系列独立运行的微服务构成整个系统 每个服务独立开发维护 微服务之间通过REST API或RPC等方式通信 去中心化:每个微服务有自己私有的数据库持久化业务数据;每个微服务只能访问自己的数据库,而不能访问其它服务的数据库;某些业务场景下,需要在一个事务中更新多个数据库。这种情况也不能直接访问其它微服务的数据库,而是通过对于微服务进行操作 优点:易于开发和维护,启动快,技术栈不受限制,按需伸缩,DevOps 挑战: 最终 ...
阅读全文 »

ELK

发表于 2019-05-26 | 分类于 bigdata
ELK简介 官网、官方中文文档、docs ELK平台主要有由ElasticSearch、Logstash和Kiabana三个开源免费工具组成 Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等 Logstash 可以对日志进行收集、过滤,并将其存储供以后使用 Kibana Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志 elasticsearch-curator,主要用于管理elasticsearch索引和快照 Curator是有python开发的,之后被elasticsearch合并 Elasticsearch Elasticsearch文档 基础概念 Lucence:一个Jar包,主要用做分词。其集群实现较难维护 ES的正排索引和倒排索引 正排索引是从文档到关键字的映射(已知文档求关键字:doc_id, terms),倒排索引是从关键字到文档的映射(已知关键字求文档:term, doc_ids) 二者都是在索引创建的时候生成的,会保存在磁盘,如果内存足够大也会保存在内存中 倒排索引以字词为关键字进行索引,可查询到这个字词的所有文档,它记录该文档的ID和字符在 ...
阅读全文 »

FTP

发表于 2019-03-19 | 分类于 devops
FTP简介 ftp/sftp是协议 vsftpd/pure-ftpd是ftp服务器(只支持ftp协议) xftp/ftp(yum install ftp)是ftp客户端 sftp localhost 输入密码后登录ftp exit退出(无需安装vsftp,一般服务器都默认支持,相当于windows用xftp以sftp形式登录ftp服务器) FTP客户端 xftp(仅支持Window) WinSCP(仅支持Window) 官网 支持脚本化操作. 有时候Windows的ftp命令不行可考虑使用此脚本123456789101112131415161718192021@echo offset FTP_HOST=192.168.1.100set FTP_PORT=211set FTP_USER=administratorset FTP_PASSWORD=111111set FTP_REMOTE_PATH=/set LOCAL_PATH=D:\test\*set UPLOAD_PATH=D:\test\demo.txtset REMOTE_UPLOAD_PATH=/testREM 使用WinSCP软件连接FTP服务器,先"put" 命令上传指定路径文件后,再 "get" 命令,下载 FTP 服务器根目录的所有文件,同时将日志记录到指定文件中 (echo option batch abo ...
阅读全文 »

并发编程

发表于 2018-12-05 | 分类于 java
简介 Java 的并行 API 演变历程 1.0-1.4 中的 java.lang.Thread 5.0 中的 java.util.concurrent(JUC) 6.0 中的 Phasers 等 7.0 中的 Fork/Join 框架 8.0 中的 Lambda(如Stream) https://www.cnblogs.com/dolphin0520/category/1426288.html 源码阅读技巧 跑不起来不读 解决问题即可 理解别人的思路 一条线索到底 无关细节略过 一般不读静态 数据结构基础,设计模式基础 串行、并发、并行 串行是完成了A任务之后才能开始B任务 并发的关键是你有处理多个任务的能力,不一定要同时 并行的关键是你有同时处理多个任务的能力 并发指标 文章 http://www.kegel.com/c10k.html https://tallate.github.io/9d02e43e.html https://github.com/xiaojiaqi/10billionhongbaos/wiki/%E6%89%9B%E4%BD%8F100%E4%BA%BF%E6%AC%A1%E8%AF%B7%E6%B1%82%EF%BC%9F%E6%88%91%E4%BB%AC%E6%9D%A5%E8%AF%95%E4%B8%80%E8%AF%95 htt ...
阅读全文 »

access

发表于 2018-11-20 | 分类于 db
access数据简介 Access 2000-2003文件格式*.mdb,数据加密容易被破解 Access > 2007文件格式为*.accdb 特殊语法 仅查询10条数据:select top 10 * from my_table order by id java连接(基于springboot)基于UcanAccess驱动连接 参考项目:https://github.com/oldinaction/springboot/tree/master/z-exe4j-accessdb 官网 内部基于HSQLDB实现。无需ODBC支持 缺点 UcanAccess默认是(memory=true),将先access数据加载到内存,以HSQLDB形式保存在内存。当数据文件较大时,需要设置JVM参数调整堆内存(350M的access测试时需要1G堆内存)。 可以通过设置memory=false,并设置keepmirror,即将access数据以HSQLDB形式保存到硬盘,这种情况下次连接可以继续使用。但是第一次解析非常慢(5-10分钟),而且解析时也需要耗费一定的内存(400M堆内存左右),并且不支持有密码的access数据文件 mirrorFolder:当memory=falses时,生成的数据文件保存路径,会在此路径生成一个类似Ucanaccess_net.ucanaccess. ...
阅读全文 »

C#

发表于 2018-11-19 | 分类于 lang
简介 .NET Microsoft Docs、.NET Docs .NET Download .NET、C#、ASP.NET ^1 微软在2002年推出了Visual Studio .NET 1.0版本的开发者平台。微软还在2002年宣布推出一个特性强大并且与.NET平台无缝集成的编程语言,即C# 1.0正式版 C#(C sharp)就是为宣传.NET而创立的,它直接集成于Visual Studio .NET中,VB也在.NET 1.0发布后对其进行支持。只要是.NET支持的编程语言,开发者就可以通过.NET平台提供的工具服务和框架支持便捷的开发应用程序 跨语言:即只要是面向.NET平台的编程语言(C#、Visual Basic、C++/CLI、Eiffel、F#、IronPython、IronRuby、PowerBuilder、Visual COBOL 以及 Windows PowerShell),用其中一种语言编写的类型可以无缝地用在另一种语言编写的应用程序中的互操作性 .NET 实现包括 .NET Framework、.NET Core 和 Mono。 .NET 的所有实现都有一个名为 .NET Standard 的通用 API 规范。版本对应 .NET Core 是 .NET 的跨平台实现,可在 Windows、macOS 和 Linux 上运行。JAVA和.NET不同 ...
阅读全文 »

nwjs

发表于 2018-11-18 | 分类于 web
介绍 官网。其他教程:https://nwjs.org.cn/ 、 https://wizardforcel.gitbooks.io/nwjs-doc/content/wiki/index.html NW.js,之前为node-webkit,是一个结合了 Chromium 和 node.js 的应用运行时,通过它可以用 HTML 和 JavaScript 编写原生应用程序。可基于html、css、js写桌面系统。打包后可运行的环境包括32位和64位的Window(windows xp及以上)、Linux和Mac OS 建议下载SDK,开发时才可进行debug,nwjs-sdk-v0.34.4-win-x64.zip下载。支持windows xp最终版本为v0.14.7。下载完成后解压SDK,可将SDK目录加入到path环境变量中,从此可直接执行nw 可使用nw-builder进行打包。打包后大概200M,再压成安装包大概80M 相同的框架如Electron 案例helloworld package.json 1234{ "name": "helloworld", "main": "index.html"} index.html 12345678910111213141516171819202122232425262728293031323334353 ...
阅读全文 »

加密解密

发表于 2018-10-23 | 分类于 linux
算法名称 RSA、DSA、ECC 非对称加密(公钥加密, 私钥解密) AES、DES 对称加密(密文可通过秘钥还原成原始数据) CRC32、MD5、SHA1 摘要算法(加签) CRC32 Cyclic Redundancy Check,又称循环冗余校验,类似还有CRC64(出现碰撞的概率小),常用于校验网络上传输的文件 MD5 Message-Digest Algorithm 5,又叫摘要算法和哈希算法 SHA1 Secure Hash Algorithm,又叫安全散列算法 区别 CRC的计算效率很高;MD5和SHA1比较慢 CRC一般用作通信数据的校验(毕竟效率高适用于通信数据校验)或数据库索引;MD5和SHA1用于安全(Security)领域,比如文件校验、数字签名等 国密算法 算法类型 国密算法 类似的国际算法 公钥加密 SM2 RSA、ECC 摘要算法 SM3 SHA-256 对称加密 SM4 AES-128 数据特征样例 明文: Hello, 你好 Hex(16进制数, 可解密): 48656c6c6f2c20e4bda0e5a5bd Base64(可解密): SGVsbG8sIOS9oOWlvQ== SHA1(无法解密): b14dfdb172b5d329d7dab3454461936e6bc576a8 SHA256(无法解密): ...
阅读全文 »

Jenkins

发表于 2018-10-09 | 分类于 devops
Jpom gitee开源 资产管理 机器管理中新增的节点是需要先安装jpom-agent再进行添加,或逻辑节点中快速安装是直接安装jpom-agent并自动添加,这两种模式添加的机器可以理解为目标服务器。项目在分发的时候可以分发到上述节点,而基于在线构建模式可以通过SSH服务器进行产物分发和项目启动 在线构建 构建方式: 基于docker安装的jpom-server则只支持容器构建,基于其他方式安装的可支持本地构建(运行本地mvn等命令打包好后把产物通过SSH等方式分发到目标服务器) 构建流程: 构建命令是运行在jpom-server服务器,环境变量在发布操作中也可使用 发布操作(SSH) 发布目录不允许使用环境变量,会自动把打包后的产物通过SSH发送到此目录 发布前和发布后两个shell是两个独立的脚本,变量不能直接传递,可为构建项目单独设置环境变量 如果是cygwin ssh,则直接使用ls/dir命令不会报错,但也不会打印数据;而pwd打印的是/home/Administrator而不是当前的实际目录 Jenkins简介 jenkins Jenkins CI,用Jenkins来进行持续集成,需要自己架设服务器 Travis CI是在线托管的CI服务,用Travis来进行持续集成,不需要自己搭服务器,使用方便,对开源项目是免费的,支持多数主流语言 https:// ...
阅读全文 »

Django-Rest-Framework

发表于 2018-09-24 | 分类于 lang
简介 django-rest-framework,是一套基于Django 的 REST 框架,是一个强大灵活的构建 Web API 的工具包 官网 pip3 install djangorestframework 安装 10大特性:权限、认证、节流、版本控制、解析器、序列化、分页、视图、路由、渲染器 rest framework 主要基于CBV模式,且大部分特性是基于必须是继承了APIView;FBV模式时上述特性无法体现。 FBV/CBV参考:http://blog.aezo.cn/2018/09/24/lang/python/django.md 认证 可参看下文rest framework 源码解析【封装request和认证】。源码参考[A03_DjangoRestFrameworkTest] 自定义认证类 12345678910111213from rest_framework import exceptionsfrom rest_framework.authentication import BaseAuthenticationclass MyAuthentication(BaseAuthentication): def authenticate(self, request): token = request._request.GET.get(' ...
阅读全文 »
1…789…18
smalle

smalle

171 日志
15 分类
155 标签
RSS
欢迎关注公众号:阿壹族 欢迎关注公众号:阿壹族
© 2016 - 2026 smalle    
由 Hexo 强力驱动
主题 - NexT.Mist
站长统计
AD    
阿里云大礼包
©AEZO.CN    
圣骑科技
【One能抽屉】小程序
杂货铺(省钱小助手)