- 博客(97)
- 资源 (3)
- 收藏
- 关注
原创 操作系统实验四:程序部署(linux环境Shell脚本部署jar)
实验四:程序部署在linux系统部署一个HelloWorld程序• 写启动脚本,满足退出登陆后,程序能照常运行• 写终止脚本,满足软终止,即程序退出前打出一个“quiting” 消息。1.在IDEA下编写HelloWorld程序需求:可接受linux kill -15 即SIGTERM信号,接受到此信号后打印出“quitting”信息后退出每三秒输出“hello world is running”程序源码:import sun.misc.Signal;import sun.misc.
2020-12-04 12:47:05 3706 44
原创 超详细的Redis常用的命令总结(+使用举例)
1.1 Redis命令大全1.1.1 String类型命令说明案例set添加key-valueset username adminget根据key获取数据get usernamestrlen根据key获取值的长度strlen keyexists判断key是否存在exists name 返回1存在 0不存在del删除redis中的keydel keyKeys用于查询符合条件的keykeys * 查询redis中全部的keykeys
2020-11-28 18:18:39 1089
原创 Linux下mysql的安装,解决用Windows中的客户端连接Linux中的Mysql服务器遇到的问题
引言:首先说明以下安装的是mysql版本的mairaDB数据库,它跟mysql同宗同源,操作基本相同,但安装和卸载却要简单不少,想安装mysql的小朋友可以去试试这款软件。这里笔者用的是“终端神器”—mobaxterm 来操作的linux,笔者也建议小伙伴们使用这一款比较全能的终端工具,(因为下文中有些操作和这个工具有关)。想用mobaxterm的小朋友可以来这里下载使用:链接:https://pan.baidu.com/s/1sQ7N_ApPn59qJvgK__38hQ提取码:ctgbGO:
2020-11-23 19:09:10 1644 2
原创 java实现:《操作系统实验三》模拟内存管理
1.模拟计算机内存,按照固定地址读写 2.模拟连续分配下的循环首次适应 3.模拟连续分配下的最佳适应
2020-11-12 11:08:30 5385 5
原创 网站后台主流架构设计参考(图文)
整体:解读:模拟三种客户端访问百度(www.baidu.com)服务器,理论上我们发送的url请求(即ip地址加端口号)通过防火墙后会默认只能访问百度的一台服务器2.但现实中为了提高并发量和访问效率,增加存储,公司会有多个服务器(会有负载均衡的问题)。且绝大多数公司都会设置代理服务器。代理服务器(Proxy Server)的功能是代理网络用户去取得网络信息。形象地说,它是网络信息的中转站,是个人网络和Internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记。它的
2020-11-01 17:38:56 4441 1
原创 java实现:《操作系统实验二》使用notify,wait方法实现三个线程的锁死及三种解决方法
使用notify,wait方法实现三个线程的锁死public class DeadLock4 { public static void main(String[] args) { StringBuffer s1=new StringBuffer(); StringBuffer s2=new StringBuffer(); StringBuffer s3=new StringBuffer(); new Thread() { public void run() { int co
2020-10-23 10:46:38 830 8
原创 教程七:APP的使用与场景联动功能
《物美智能》系列文章目录 一款强大的物联网管理平台介绍-《物美智能》 教程一:阿里云使用docker快速部署服务端 教程二:本地配置服务端开发环境 教程三:硬件端-Arduino和ESP8266开发板入门 教程四:使用物联网平台控制硬件端 教程五:物联网平台使用手册 教程六:官方SDK代码功能补充 教程七:APP的使用与场景联动功能 diy:自制作四种智能小电器前言敬请期待。。。。。...
2022-04-17 21:31:58 5493
原创 教程一:阿里云使用docker快速部署服务端
物美智能是一个简单易用的开源生活物联网平台。适合中小企业和个人学习搭建自己的物联网平台,同时提供硬件端SDK,可以快速接入设备。项目包含服务端、网页端、设备端、App和小程序等。
2022-04-14 16:32:39 3235 3
原创 Kubernetes(k8s)集群部署(kubeasz安装脚本)
Kubernetes全自动容器部署工具 - 持续部署谷歌的开源工具,在谷歌内部已经运行几年,管理上千万容器缺点:过于复杂Kubernetes集群搭建kubernetes的安装过程极其复杂,对Linux运维不熟悉的情况下安装kubernetes极为困难,再加上国内无法访问google服务器,我们安装k8s就更加困难集群搭建的简化项目:https://github.com/opsnull/follow-me-install-kubernetes-cluster手把手部署kubernetes
2021-02-04 14:25:04 2771
原创 Docker容器详解与操作
基本概念镜像Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。比如,删除前一层文件的操作,实际不是真的删除前一
2021-02-01 17:30:16 2235
原创 luceneAPI与倒排索引
luceneLucene是apache jakarta项目的一个子项目,是一个开放源代码的全文检索引擎开发工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。项目中后台如果有千万级别的数据,当我们检索时直接在数据库中检索是非常慢的,于是我们将数据表索引放入搜索服务器中,大大加快了搜索效率。倒排索
2021-01-30 18:53:39 1058 1
原创 linux搭建solr服务器及其核心配置使用
solrSolr是一个高性能,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。solr服务器搭建所需文件:这里笔者用的是“终端神器”—mobaxterm 来操作的linux,笔者也建议小伙伴们使用这一款比较全能的终端工具,(因为下文中有些操作和这个工具有关)。想用mobaxterm的小朋友可以来这里下载使用:链接:https://pan.
2021-01-30 16:36:53 1553
原创 springboot整合rabbitmq详解
1.新建工程假如rabbitmq依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd
2021-01-29 13:47:39 1699 4
原创 Spring Cloud(七):配置中心
Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。yml 配置文件保存到 git 服务器,例如 github.com 或 gitee.com微服务启动时,从服务器获取配置文件gitee 上存放配置文件准备本地仓库新建module: config,当做一个文件夹,用来存放配置文件把 2,
2021-01-21 11:45:23 690 3
原创 Spring Cloud(六):Zuul API网关测试
ZuulAPI 网关微服务系统统一的调用入口统一的权限校验集成ribbon集成hystrixzuul API 网关,为微服务应用提供统一的对外访问接口。zuul 还提供过滤器,对所有微服务提供统一的请求校验。统一的调用入口zuul 依赖、eureka client依赖、sp01yml# 配置调用转发规则# 下面是 zuul 默认的转发规则# 如果不手动配置,zuul可以根据注册表的注册信息进行自动配置zuul: routes: item-servi
2021-01-20 16:04:28 900 1
原创 RabbitMQ使用场景与六种工作模式:主题模式、RPC模式 (下)
主题模式在上一小节,我们改进了日志系统。我们没有使用只能进行广播的fanout交换机,而是使用Direct交换机,从而可以选择性接收日志。虽然使用Direct交换机改进了我们的系统,但它仍然有局限性——它不能基于多个标准进行路由。在我们的日志系统中,我们可能不仅希望根据级别订阅日志,还希望根据发出日志的源订阅日志。这将给我们带来很大的灵活性——我们可能只想接收来自“cron”的关键错误,但也要接收来自“kern”的所有日志。要在日志系统中实现这一点,我们需要了解更复杂的Topic交换机。主题交
2021-01-19 19:31:51 1694 9
原创 RabbitMQ使用场景与六种工作模式:发布订阅模式、路由模式 (中)
发布订阅模式在前面的例子中,我们任务消息只交付给一个工作进程。在这部分,我们将做一些完全不同的事情——我们将向多个消费者传递同一条消息。这种模式称为“发布/订阅”。为了说明该模式,我们将构建一个简单的日志系统。它将由两个程序组成——第一个程序将发出日志消息,第二个程序接收它们。在我们的日志系统中,接收程序的每个运行副本都将获得消息。这样,我们就可以运行一个消费者并将日志保存到磁盘; 同时我们可以运行另一个消费者在屏幕上打印日志。最终, 消息会被广播到所有消息接受者Exchanges 交换机R
2021-01-19 19:25:12 2444
原创 RabbitMQ使用场景与六种工作模式:简单模式、工作模式 (上)
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。(MQ和redis在分布式系统中都是相当重要的角色)RabbitMQ是一个消息中间件,你可以想象它是一个邮局。当你把信件放到邮箱里时,能够确信邮递员会正确地递送你的信件。RabbitMq就是一个邮箱、一个邮局和一个邮递员。RabbitMQ 使用场景服务解耦假设有
2021-01-19 17:54:25 1921 9
原创 linux下搭建RabbitMQ服务器与配置
前置环境准备:rabbitmq安装包:链接:https://pan.baidu.com/s/1PtdAfrmLYN30YGdv1HShxA提取码:5shm这里笔者用的是“终端神器”—mobaxterm 来操作的linux,笔者也建议小伙伴们使用这一款比较全能的终端工具,(因为下文中有些操作和这个工具有关)。想用mobaxterm的小朋友可以来这里下载使用:链接:https://pan.baidu.com/s/1sQ7N_ApPn59qJvgK__38hQ提取码:ctgb安装:1.将rabb
2021-01-19 16:13:43 1815
原创 Spring Cloud(五):feign+hystrix集成测试
Feign 集成 HystrixFeign默认不启用Hystrix,不推荐启用Hystrix(后面分析)启用Hystrix基础配置:hystrix起步依赖(feign集成的hystrix依赖并不完全,比如监控功能便没有) <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter
2021-01-18 15:55:10 2044 11
原创 Spring Cloud(四):feign+ribbon集成测试
Feign集成工具远程调用:声明式客户端ribbon 负载均衡和重试hystrix 降级和熔断feign 声明式客户端接口微服务应用中,ribbon 和 hystrix 总是同时出现,feign 整合了两者,并提供了声明式消费者客户端用 feign 代替 hystrix+ribbon只需要声明一个抽象接口,就可以通过接口做远程调用,不需要再使用 RestTemplate 来调用// 调用远程的商品服务,获取订单的商品列表// 通过注解,配置:// 1. 调用哪个服务// 2
2021-01-18 14:46:13 2857 29
原创 PathVariable annotation was empty on param 0.和RequestParam.value() was empty on parameter 1错误
最近在用springcloud的Feign写项目时,定义feign 声明式客户端接口时报了这两个问题:便是这段代码里:@GetMapping(value = "/{userId}/score") JsonResult<?> addScore(@PathVariable Integer userId, @RequestParam Integer score);//@RequestParam在Controller中可以省略,此处不能省
2021-01-18 11:08:16 1152
原创 SpringCloud(三):Hystrix的降级和熔断机制
Hystrix系统容错工具降级调用远程服务失败(宕机、500错、超时),可以降级执行当前服务中的一段代码,向客户端返回结果快速失败熔断当访问量过大,出现大量失败,可以做过热保护,断开远程服务不再调用限流防止故障传播、雪崩效应降级hystrix依赖在pom文件中使用快捷键alt+insert,使用edit Starters插件添加启动类添加注解 @EnableCircuitBreaker添加降级代码// 当调用远程服务失败,跳转到指定的方法,.
2021-01-16 15:13:30 1767 19
原创 SpringCloud(二):RestTemplate+Ribbon实现远程调用和负载均衡测试
RestTemplatespringboot 提供的远程调用工具类似于 HttpClient,可以发送 http 请求,并处理响应。RestTemplate简化了Rest API调用,只需要使用它的一个方法,就可以完成请求、响应、Json转换。方法API:getForObject(url, 转换的类型.class, 提交的参数)postForObject(url, 协议体数据, 转换的类型.class)RestTemplate 和 Dubbo 远程调用的区别:RestTemplate:
2021-01-15 15:45:39 1984 21
原创 SpringCloud (一):eureka服务器搭建
介绍Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到
2021-01-14 15:27:51 1827 20
原创 常用工具类通用CookieUtil、JsonResult、JsonUtil源码
CookieUtilAPI:setCookie(HttpServletResponse response,String name, String value, String domain, String path, int maxAge)setCookie(HttpServletResponse response, String name, String value, int maxAge)setCookie(HttpServletResponse response, String name, St
2021-01-14 11:58:49 1856 15
原创 RPC协议与Http协议区别
RPC调用RPC是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。本地过程调用: 如果需要完成业务逻辑,则直接去调用本地的方法即可.远程过程调用: 我想完成一个业务的调用,但是该功能我没有办法直接调用,需要通过第三方帮助我完成业务规则.具体用法: RPC不关注具体的实现规则,用户也不需要了解具体的协议.谁调用谁
2020-12-16 20:24:09 5546 3
原创 Linux环境下Zookeeper集群搭建
Zookeeper介绍ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语集,提供Java和C的接口。ZooKeeper代码版本中,提供了分布式独享锁、选举、队
2020-12-13 20:34:34 2412 26
原创 基于分布式架构上的微服务架构设计
微服务什么是微服务为了降低代码的耦合性,将项目进行了拆分.按照功能模块拆分为若干个项目.该项目称之为服务.(分布式思想).如果采用微服务的结构,要求服务器如果出现了故障应该实现自动化的故障的迁移(高可用HA)单体架构的不足在文章网站后台主流架构一文中,我较为详细阐述了分布式架构的设计模式。而这之中我们不难发现,后台业务处理为单体架构,单体架构在规模比较小的情况下工作情况良好,但是随着系统规模的扩大,它暴露出来的问题也越来越多:1.复杂性逐渐变高比如有的项目有几十万行代码,各个模块之间区
2020-12-13 15:58:30 2448 18
原创 org.apache.http.client.HttpClient应用入门案例
HttpClient需求场景1.解决跨域场景下信息提交的不安全性。(避开浏览器提交)2.对业务处理数据的简便性。(跨域方式解决业务极不方便)HttpClient使用场景:微服务架构时,前台服务器请求后台服务器查询到的数据时,通过HttpClient返回所取得数据。前台服务器在Controller层中调用service层业务方法,Service层通过HttpClientAPI取得后端服务器调用业务后返回到的结果集。HttpClient介绍 HTTP 协议可能是现在 Internet 上使用得最
2020-12-09 19:29:13 4008 24
原创 跨域和同源策略问题,JSONP、CORS解决跨域问题
问题案例在服务器 manage.qiu.com (这里用到了反向代理为服务器设置了域名)的静态文件中加上一个test.html页面和test.json文件test.html:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>测试JSON跨域问题</title><script type="text/javascript" src="http://manag
2020-12-06 20:00:23 1811 27
原创 Linux环境下搭建Redis服务器集群,Redis集群高并发配置
前置环境Linux系统上已安装好了Redis缓存服务器如未搭建好,请参见文章:https://blog.csdn.net/qq_45273552/article/details/110285630在搭建Redis集群之前,希望读者能先去读读笔者的另一篇文章:https://blog.csdn.net/qq_45273552/article/details/110496448了解一下Redis服务器的分片机制和哨兵机制,这样可更好的理解本文1.1.1为什么要搭建集群分片/哨兵机制有哪些缺点1
2020-12-03 14:47:21 1422 35
原创 Redis缓存服务器的 分片机制 和 哨兵机制 的配置与详解
Redis的分片机制说明Redis分片中的一致性HASH算法Redis节点主从配置哨兵机制工作原理
2020-12-02 20:10:21 1503 31
maven新版本地仓库
2020-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人