资讯专栏INFORMATION COLUMN

【业务学习】2019年8月工作问题总结

wawor4827 / 1344人阅读

摘要:我们经常能够遇到绑定了根目录,但是一直返回状态码的问题。通常一个文件长这样数据库相关表结构设计的字段冗余和表连接的权衡这周在业务中遇到了这样一个问题一个配件库存表,需要知道这个配件是哪个厂商型号机房等等,而厂商型号机房都存储在另一个表中。

baiyan

apache相关 利用apache配置多端口绑定实现本地的微服务架构

配置文件httpd.conf:

Listen 80
Listen 9399

DocumentRoot "C:/Users/jiangbaiyan/PhpstormProjects/NicoRobin/public"

    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted




    DocumentRoot "C:/Users/jiangbaiyan/PhpstormProjects/cmdb/public"
    ServerName localhost:9399



    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted

如此配置可以让apache绑定多个端口,从而可以同时在本地同时运行多个微服务。

apache的.htaccess文件

该文件定义了URL重写的规则(相当于nginx的rewrite)。我们经常能够遇到绑定了根目录,但是一直返回404状态码的问题。可能就是你的根目录下并没有.htaccess的URL重写文件。由于你的URL是错误的,并没有定位到正确的资源文件。而且注意要在httpd.conf的权限控制标签中设置AllowOverride All,而且要把mod_rewrite模块之前的注释去掉,开启apache的URL重写模块。通常一个.htaccess文件长这样:


    
        Options -MultiViews -Indexes
    

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
数据库相关 MySQL表结构设计的字段冗余和表连接的权衡

这周在业务中遇到了这样一个问题:一个配件库存表,需要知道这个配件是哪个厂商、型号、机房等等,而厂商、型号、机房都存储在另一个表中。现在存储这些信息有两种方案:

第一种方案:

id 厂商id 型号id 机房id 其它字段

第二种方案:

id 厂商名 型号名 机房名 其它字段

比较这两种方案,第一种方案有如下优缺点:

优点:查询时使用关联查询,所以在厂商/型号/机房有变更的时候,在查询库存时能够同步更新这些信息,而且插入时只需插入id,非常方便 ,对插入友好
缺点:关联查询耗费性能,需要进行三个表的连接操作,性能不高,对查询不友好

第二种方案有如下优缺点:

优点:查询时不用进行表连接,查询性能高,对查询友好
缺点:在厂商/型号/机房有变更的时候,在查询库存时无法同步更新这些信息。所以这种方案比较适合厂商/型号这些信息基本不会变动的情况下使用。而且插入库存的时候需要查询出厂商/型号的具体名称,对插入不友好
docker相关 docker外部到内部端口的映射

docker容器在启动的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。这个时候就必须使用宿主机与内部docker的端口绑定,我们使用docker ps -a命令查看端口绑定情况:

[root@xxx jiangbaiyan]# docker ps -a | grep jiangbaiyan
671e1d9e8aa4        develop:2.2         "/bin/bash"         2 weeks ago         Up 13 days                0.0.0.0:12422->22/tcp, 0.0.0.0:12480->80/tcp, 0.0.0.0:12481->81/tcp, 0.0.0.0:12482->82/tcp, 0.0.0.0:12483->83/tcp, 0.0.0.0:12484->84/tcp, 0.0.0.0:12485->85/tcp, 0.0.0.0:12486->86/tcp, 0.0.0.0:12487->87/tcp, 0.0.0.0:12488->88/tcp, 0.0.0.0:12489->89/tcp   jiangbaiyan

举个例子,我们把jiangbaiyan这个docker的22端口映射到了外部宿主机上的12422端口,那么我们在外部的宿主机上,执行以下命令:

ssh root@127.0.0.1 -p 12422

这样就可以在外部宿主机上,成功进入到docker内部了。注意,不同的docker实例,绑定的外部宿主机端口是不一样的,当前docker实例jiangbaiyan的端口是12422,可能其它docker实例的端口就是12423了。这样我们才能够通过不同的端口进入不同docker内部。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110747.html

相关文章

  • LeetCode 攻略 - 2019 8 上半汇总(109 题攻略)

    摘要:每天会折腾一道及以上题目,并将其解题思路记录成文章,发布到和微信公众号上。三汇总返回目录在月日月日这半个月中,做了汇总了数组知识点。或者拉到本文最下面,添加的微信等会根据题解以及留言内容,进行补充,并添加上提供题解的小伙伴的昵称和地址。 LeetCode 汇总 - 2019/08/15 Create by jsliang on 2019-08-12 19:39:34 Recently...

    tracy 评论0 收藏0
  • Kubernetes 2018 度简史

    摘要:同时该版本在安全性和等关键功能上作出了改进年月日,发布。尽管谷歌这些年来是的主要贡献者,但现在其他技术人员在这个项目上的贡献量已经几乎和谷歌持平了。这些举动都在表明云计算市场的战火将继续蔓延,已经成为兵家必争之地。年月日,宣布推出。Kubernetes 在过去几年中一直是云计算领域最著名的开源项目之一。 2018 年,Kubernetes 度过了自己的 4 岁生日。从 2014 年开源...

    史占广 评论0 收藏0
  • Kubernetes 2018 度简史

    摘要:同时该版本在安全性和等关键功能上作出了改进年月日,发布。尽管谷歌这些年来是的主要贡献者,但现在其他技术人员在这个项目上的贡献量已经几乎和谷歌持平了。这些举动都在表明云计算市场的战火将继续蔓延,已经成为兵家必争之地。年月日,宣布推出。 Kubernetes 在过去几年中一直是云计算领域最著名的开源项目之一。20...

    gougoujiang 评论0 收藏0
  • jsliang 的 2019 面试准备

    Create by jsliang on 2019-2-11 15:30:34 Recently revised in 2019-3-17 21:30:36 Hello 小伙伴们,如果觉得本文还不错,记得给个 star , 小伙伴们的 star 是我持续更新的动力!GitHub 地址 并不是只有特定的季节才能跑路,只因为人跑得多了,这条路就定下来了。 金三银四跳槽季,jsliang 于 2019...

    PascalXie 评论0 收藏0
  • 2019微服务实践第一课,网易&谐云&蘑菇街&奥思技术大咖深度分享

    摘要:本次演讲将介绍蘑菇街微服务治理体系经历的架构演进历程,面临的技术难点和解决思路。年加入蘑菇街,目前负责蘑菇街内部中间件平台,包括分布式服务通信框架配置中心服务发现消息队列等其他服务基础设施等项目。文章来源网易云社区 微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,核心思想是围绕业务能力组织服务,各个微服务可被独立部署,服务间是松耦合的关系,以及...

    genedna 评论0 收藏0

发表评论

0条评论

wawor4827

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<